To ccrun(老妖)(www.ccrun.com) ,经常上你的网站看关于BCB的资料,特表感谢先,这是对话框不知有没有Handle.
To jinjazz(近身剪(充电中...)) 红星是很眨眼,不要晃得我眼花,看清问题内容再答题
搞定了,用如下代码,原来这玩艺是有Handle的, var tmpHandle:THandle; begin tmphandle:=Findwindow(nil,pchar('aaa')); SendMessage(tmphandle,wm_close,0,0); end; 谢谢CCRUN,不过也感谢星级饭桶贴的代码,虽然不能运行吧
var
Buffer: array [0..MAX_TITLE - 1] of Char;
begin
Result := True;
FillChar(Buffer, SizeOf(Buffer), 0);
if GetWindowText(hwnd, Buffer, SizeOf(Buffer)) > 0 then
if PData(lpParam)^.Title = Buffer then
begin
PData(lpParam)^.hwnd := hwnd;
Result := False;
end;
end;procedure TimerFunc(hwnd: THandle; uMsg, idEvent: UINT; dwTime: Cardinal); stdcall; function GetTitleHandle(Title: string): THandle;
var
Data: TData;
begin
FillChar(Data, SizeOf(Data), 0);
Move(Title[1], Data.Title, Length(Title));
EnumWindows(@EnumFunc, Integer(@Data));
Result := Data.hwnd;
end;var
Child: THandle;
begin
Child := GetTitleHandle(M_CAPTION);
if Child <> 0 then
PostMessage(Child, WM_CLOSE, 0, 0);
end;
function SplashMsgBox(const Handle: THandle; const Text: string; const aiTimeout: Integer): Integer;
begin
SetTimer(Handle, 2, aiTimeout, @TimerFunc);
Result := MessageBox(Handle, PChar(Text), PChar(M_CAPTION),
MB_OKCANCEL or MB_ICONQUESTION); { MB_OKCANCEL do not localize !! }
KillTimer(Handle, 2);
end;
mrNone = 0;
mrOk = idOk;
mrCancel = idCancel;
mrAbort = idAbort;
mrRetry = idRetry;
mrIgnore = idIgnore;
mrYes = idYes;
mrNo = idNo;
mrAll = mrNo + 1;
mrNoToAll = mrAll + 1;
mrYesToAll = mrNoToAll + 1;} if MessageBox(self.Handle,'对方邀请你视频对话,你同意吗?','提示',MB_OKCancel)=mrOk then
begin
end;
自己定制一个窗口然后ShowModal 啊,这样可通过变量方便的操作,而且界面可以做得更漂亮,超人的方法多麻烦呀
var
tmpHandle:THandle;
begin
tmphandle:=Findwindow(nil,pchar('aaa'));
SendMessage(tmphandle,wm_close,0,0);
end;
谢谢CCRUN,不过也感谢星级饭桶贴的代码,虽然不能运行吧