delphi QQ 채팅창 실례 캡처
2100 단어 Delphi
function EnumWindowsProc(hwnd: HWND; lParam: LPARAM): Boolean ;stdcall;
// EnumWindows :
// function EnumWindowsProc(
// hwnd: HWND; { }
// lParam: LPARAM {EnumWindows ; , , }
// ): Boolean; stdcall; { False , EnumWindows False}
function EnumWindowsProc(hwnd: HWND; lParam: LPARAM): Boolean ;stdcall;
var
WindowText : string ; //
WindowClass : string ; //
SendHwnd : DWORD ; //
tdiahandle : THandle ;
tedithandle : THandle ;
tduihuakhandle: THandle ;
begin
if ( IsWindowVisible(hwnd) or IsIconic(hwnd) ) and
(
(GetWindowLong(hwnd, GWL_HWNDPARENT) = 0) or
(GetWindowLong(hwnd, GWL_HWNDPARENT) = Longint(GetDesktopWindow))
) and
( GetWindowLong(hwnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = 0) then
begin
{----- ------}
SetLength(WindowText, GetWindowTextLength(hwnd)+2);
Getwindowtext(hwnd, Pchar(WindowText), GetWindowTextLength(hwnd)+2);
WindowText := string(Pchar(WindowText));
{----- ------}
SetLength(WindowClass, 512);
GetClassName(hwnd, Pchar(WindowClass), 512);
WindowClass := string(Pchar(WindowClass) );
if SameStr(WindowClass , 'TXGuiFoundation') then
begin
Form1.mmo.Lines.Add(' :' + WindowText +
' : ' + WindowClass);
BringWindowToTop(hwnd);
SetWndText(hwnd,'hello,delphi test');
// tduihuakhandle := GetDlgItem(hwnd, 0);
// SendMessage()
// SendHwnd := FindWindowEx(hwnd , 0, nil, ' (S)'); // ,
// ShowMessage(string(SendHwnd));
end;
end;
Result := True;
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
Form1.mmo.Clear;
// EnumWindows
// function EnumWindows(
// lpEnumFunc: TFNWndEnumProc; { }
// lParam: LPARAM { , }
// ): BOOL; stdcall; // ,
EnumWindows(@EnumWindowsProc ,0);
FQQMessage := edtQQMessage.Text;
end;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.