Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[15635] Re:Re:블럭이 걸리는 이유가 뭘까요? SendMessage(HWND_BROADCAST
예성곤 [skyinmine] 2099 읽음    2016-01-26 08:24
네 감사합니다.

sendmessage를 postmessage로 하면 잘됩니다.

둘 간의 차이점도 찾아봤습니다.

http://sixthman23.tistory.com/entry/SendMessage%EC%99%80PostMessage%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90SendMessage%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90



정영훈 님이 쓰신 글 :
: sendmessage 와 postmessage 차이에 대해 알아보시기 바랍니다.
: 일단 응답대기 문제는 postmessage 를 사용하면 해결은 되나 서로간 차이가 있으므로 숙지할 필요가 있습니다.
:
: 예성곤 님이 쓰신 글 :
: : 아래의 소스코드로 컴파일은 완료되었으나...
: : 실행시키면
: : 어느 순간부터
: : SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Longint(@Device));
: : 의 응답이 없습니다.
: :
: : 어떤 문제인가요?
: :
: : 사용 OS는 Windows7 32bit 입니다.
: :
: :
: :
: : /// 원 소스코드
: :
: : procedure SetDefaultPrinter(PrinterName: string);
: : var
: :   I: Integer;
: :   Device: PChar;
: :   Driver: PChar;
: :   Port: PChar;
: :   HdeviceMode: THandle;
: :   aPrinter: TPrinter;
: : begin
: :   Printer.PrinterIndex := -1;
: :   GetMem(Device, 255);
: :   GetMem(Driver, 255);
: :   GetMem(Port, 255);
: :   aPrinter := TPrinter.Create;
: :   try
: :     for I := 0 to Printer.Printers.Count - 1 do
: :     begin
: :       if Printer.Printers[i] = PrinterName then
: :       begin
: :         aprinter.PrinterIndex := i;
: :         aPrinter.getprinter(device, driver, port, HdeviceMode);
: :         StrCat(Device, ',');
: :         StrCat(Device, Driver);
: :         StrCat(Device, Port);
: :         WriteProfileString('windows', 'device', Device);
: :         StrCopy(Device, 'windows');
: :         SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Longint(@Device));
: :       end;
: :     end;
: :   finally
: :     aPrinter.Free;
: :   end;
: :   FreeMem(Device, 255);
: :   FreeMem(Driver, 255);
: :   FreeMem(Port, 255);
: : end;

+ -

관련 글 리스트
15632 블럭이 걸리는 이유가 뭘까요? SendMessage(HWND_BROADCAST 예성곤 1797 2016/01/25
15633     Re:블럭이 걸리는 이유가 뭘까요? SendMessage(HWND_BROADCAST 정영훈 1856 2016/01/25
15635         Re:Re:블럭이 걸리는 이유가 뭘까요? SendMessage(HWND_BROADCAST 예성곤 2099 2016/01/26
15634         Re:Re:블럭이 걸리는 이유가 뭘까요? SendMessage(HWND_BROADCAST 예성곤 2101 2016/01/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.