注册 登录
编程论坛 汇编论坛

防止程序重复运行代码。

onepc 发布于 2009-10-09 09:23, 720 次点击
程序代码:
;写程序时可能用到,特别是写破坏性的程序时。
;参考:百度
;by onepc
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
;include gdi32.inc  ;图形
includelib user32.lib
includelib kernel32.lib
;includelib gde32.lib
include macro.asm  ;ctxt("")
.data
szMutex db 'onepc',0
.data?
hInstance dd ?  ;模块句柄
hMutex dd ?  ;
.const
.code
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke CreateMutex,NULL,FALSE,addr szMutex
.if eax ;CreateMutex返回NULL的话表示创建失败
mov hMutex,eax  ;指向互斥句柄
invoke GetLastError   ;若有一个程序在运行那么用GetLastError得到的值会是ERROR_ALREADY_EXISTS
  .if eax==ERROR_ALREADY_EXISTS
    invoke MessageBox,NULL,CTXT("已有程序在运行!"),CTXT("Error"),0
    invoke ReleaseMutex,hMutex
    invoke ExitProcess,NULL
  .endif
.else
    invoke MessageBox,NULL,CTXT("创建Muter失败!"),CTXT("Error"),0
.endif

invoke MessageBox,NULL,CTXT("OK!"),CTXT("OK"),0

invoke ExitProcess,NULL

end start
6 回复
#2
onepc2009-10-09 09:29
求msdn中文版下载。英文也行。那位有?
#3
zklhp2009-10-09 12:24
以下是引用onepc在2009-10-9 09:29:43的发言:

求msdn中文版下载。英文也行。那位有?
aogo站上有个~
#4
onepc2009-10-09 13:51
找不到啊。不过说真的。aogo 那个站怎么那么难看啊???他的论坛。。。。
#5
zklhp2009-10-09 16:22
http://www.
#6
swp1601082009-10-09 16:46
好像不能下载了
不过用迅雷搜索一下 很多的
#7
onepc2009-10-09 17:28
是的。这个我也找过。下不了。而且下得了的那个地址。是安装精简的。安装不上,应是下载时出错了。下了几次都一样。
1