我最近要调用一个Java程序,想把该程序在任务栏中的图标隐藏掉。采用ShowWindow函数,而这函数必需要程序句柄(Application.Handle)才能实现该功能,进程句柄、窗体句柄都不行。
请问各位大侠,有什么办法可以得到该Java程序的句柄啊?或者其他办法实现该功能也行。急急急急急急急
另外,我的Delphi程序要和该Java程序通信,采用哪种通信方式比较好啊?
请问各位大侠,有什么办法可以得到该Java程序的句柄啊?或者其他办法实现该功能也行。急急急急急急急
另外,我的Delphi程序要和该Java程序通信,采用哪种通信方式比较好啊?
Delphi程序要和该Java程序通信,可以用Socket或SendMessage两种方法,第二种方法只能在一台机器上用
Socket是可以实现,但是我的程序里已经用了Socket和服务器通信了,并且该Delphi程序调用了若干个不同的进程,各进程又用了2-4个socket和服务器通信,所以就不想在这几个客户端程序间采用Socket通信。
SendMessage是可以指定接收对象发消息,但是据说Java里很难获取Windows消息的。
procedure ShowAppWindow(AppTitle:string;Mode:Cardinal);
var hwnd:hwnd;
begin
hwnd:=FindWindow('Shell_TrayWnd',nil);
hwnd:=FindWindowEx(hwnd,0,'ReBarWindow32',nil);
hwnd:=FindWindowEx(hwnd,0,'ReBarWindow32',nil);
hwnd:=FindWindowEx(hwnd,0,'ToolbarWindow32','Running Applications');
hwnd:=FindWindowEx(hwnd,0,nil,AppTitle);
ShowWindow(hwnd,Mode);
end;