这个程序目的是用户登陆时,防止同一程序两次运行的,同一时间只能运行一次
procedure TRegForm.FormCreate(Sender: TObject);var
WinName: array[0..127] of Char;
Found: HWND;
begin
StrPCopy(WinName, Application.Title);
Application.Title := 'Only_' + IntToStr(HInstance);
Found := FindWindow(nil, WinName);
Application.Title := WinName;
if Found <> 0 then
begin
ShowWindow(Found, SW_RESTORE);
Application.Terminate;
end
else
begin
Registry := TRegistry.Create;
Registry.RootKey := HKEY_CURRENT_USER;
Registry.OpenKey('RegData\PassWord', False);
Pass := Registry.ReadString(''); //读入密码
Registry.Free;
end;
end;
procedure TRegForm.FormCreate(Sender: TObject);var
WinName: array[0..127] of Char;
Found: HWND;
begin
StrPCopy(WinName, Application.Title);
Application.Title := 'Only_' + IntToStr(HInstance);
Found := FindWindow(nil, WinName);
Application.Title := WinName;
if Found <> 0 then
begin
ShowWindow(Found, SW_RESTORE);
Application.Terminate;
end
else
begin
Registry := TRegistry.Create;
Registry.RootKey := HKEY_CURRENT_USER;
Registry.OpenKey('RegData\PassWord', False);
Pass := Registry.ReadString(''); //读入密码
Registry.Free;
end;
end;
解决方案 »
- ReportMachine中如何用程序动态设置页边距?急!
- 求更好的方法:如何判断SQL Server中数据库已经存在并得到它的大小?
- 如果将OLE字段(长二进制)中的值导入WORD,并显示出来
- 字段名称和类型放在类似数组的地方,一个简单的方法马上就可以得到它的类型
- 求Delphi70架构版,下载完毕就给分,决不食言!!!!
- 急需ASCII码表
- 我想考北大青鸟的ACCP,请大家谈谈有没有必要。
- on E:exception do 语句怎么不能拦截系统错误
- 我快疯了———— 关于 CGI 问题
- 为什么这个query总没有响应???
- 代码写的TAdoQuery怎么连接不到控件TadoConnection呢,请高手帮忙看下
- 监视远程屏幕API
这又是什么意思
delphi链接器默认的image base是$00400000,而且一般也没人去改这个地址,所以exe程序(不像dll容易发生冲突被重定向到别的地址)的HInstance一般都是$00400000