要死人了! ( 积分: 100 )

  • 主题发起人 主题发起人 9278707
  • 开始时间 开始时间
9

9278707

Unregistered / Unconfirmed
GUEST, unregistred user!
请问以下功能如何实现?
1、象FlashGet一样,点击一个连接,打开我的FlashGet和下载窗口(这个已经实现)
2、当FlashGet已经启动时,电击一个连接,只打开我的下载窗口?
 
请问以下功能如何实现?
1、象FlashGet一样,点击一个连接,打开我的FlashGet和下载窗口(这个已经实现)
2、当FlashGet已经启动时,电击一个连接,只打开我的下载窗口?
 
搞不出来我真的不想活了,帮帮忙,救我一命吧!
 
同一个程序只允许一个实例运行
 
program

var
Mutex: THandle;

Mutex := CreateMutex(nil, True, '程序名');
if GetLastError <> ERROR_ALREADY_EXISTS then
//
else
MessageBox(0, '程序已经有一个实例在运行!', '警告', (MB_OK or MB_ICONWARNING));
ReleaseMutex(Mutex);
 
catcatdogdog
如何打开已运行程序的聊天窗口呢》?
 
呵呵
写程序 就这样撒
痛并快乐着!
呵呵
 
要有耐心啊,兄弟!!
 
ShowWindow(你窗口的句柄,状态);
 
我晕了,你如何能获得一个应用程序某个窗口的句柄?
 
请不要再告诉我用findwindow了,有那么简单的话我也不会在这里浪费大家的时间了
 
// ==========================================================================================
// Version : V1.0
// Author : Jfyes
// Create by : 2005-01-21
// Function : 运行一个程序实例, 如果存在原有的实例将其恢复为Windows 活动窗口
// IDE: Delphi 6.0 and Win2000
var
MyAppName,
MyClassName: array[0..255] of Char;
NumFound: Integer;
LastFound, MyPopup: HWND;
procedure TTaiShing.ChkWindow;
function ChkAllWindows(Handle: HWND; Temp: LongInt): BOOL; stdcall;
var
WindowName,
ClassName: array[0..255] of Char;
begin
if GetClassName(Handle, ClassName, SizeOf(ClassName)) > 0 then
if StrComp(ClassName, MyClassName) = 0 then
if GetWindowText(Handle, WindowName, SizeOf(WindowName)) > 0 then
if StrComp(WindowName, MyAppName) = 0 then
begin
Inc(NumFound);
if Handle <> Application.Handle then
LastFound := Handle;
end;
result := true;
end;
begin
NumFound := 0;
LastFound := 0;
GetWindowText(Application.Handle, MyAppName, SizeOf(MyAppName));
GetClassName(Application.Handle, MyClassName, SizeOf(MyClassName));
EnumWindows(@ChkAllWindows, 0);
if NumFound > 1 then //不是一个窗口
begin
MyPopup := GetLastActivePopup(LastFound);
BringWindowToTop(LastFound);
if IsIconic(MyPopup) then
ShowWindow(MyPopup, SW_RESTORE)
else
SetForegroundWindow(MyPopup);
Halt;
end
end;
// end function 运行一个程序实例
//==========================================================================
 
思路如下:在启动程序时判断是否已经有这个程序的实例在运行(有很多文章介绍,且还有现成的控件),如果存在,则只弹出某个窗口,方法至少有两种:1)引用窗体对象,如frm.show;2)用findwindow获得窗口的句柄,然后sendmessage和SetForegroundWindow函数来处理。
 
到google找些資料來研究吧
 
用程序找到别人窗口句柄 ,发消息关了它,
或是改注册表,把别人的程序拿掉,
 
问题已经解决,但是大家都没有说对,要分的进来顶一下
 
能告诉我你的目的是什么,你又是怎么解决的?
 
hxb_leiyuan:
你安装一个alibaba的贸易通就知道了。
 
后退
顶部