VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1081|回复: 3

PB 里怎样使程序只能运行一个实例

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-18 22:00:01 | 显示全部楼层 |阅读模式
PB 里怎样使程序只能运行一个实例
回复

使用道具 举报

0

主题

21

帖子

18.00

积分

新手上路

Rank: 1

积分
18.00
发表于 2020-6-22 16:45:01 | 显示全部楼层
app的open写
ls_temp = '随便一个字符串'
gl_mutex = CreateMutex(0,0,ls_temp)
i = getlasterror()
if I = 183 and handle(GetApplication()) > 0 then
        messagebox('信息','xx系统进程已在运行中!',exclamation!)
        return
end if

函数声明
function ulong CreateMutex (ulong lpMutexAttributes, int bInitialOwner, ref string lpName) library  "kernel32.dll" ALIAS FOR "CreateMutexA"
function ulong GetLastError () library  "kernel32.dll"
function ulong ReleaseMutex(LONG H) library  "kernel32.dll"
回复

使用道具 举报

0

主题

100

帖子

53.00

积分

新手上路

Rank: 1

积分
53.00
发表于 2020-6-22 18:15:01 | 显示全部楼层
long ll_winhandle
string ls_class,ls_winTitle
setNull(ls_class)
ls_winTitle = "程序主窗口名称"
//检测主窗口是否已存在
ll_winhandle = FindWindowA(ls_class,ls_winTitle)
if ll_winhandle > 0 then
        BringWindowToTop(ll_winhandle)
        halt close
end if
回复

使用道具 举报

0

主题

100

帖子

53.00

积分

新手上路

Rank: 1

积分
53.00
发表于 2020-6-22 20:30:01 | 显示全部楼层
Function ulong BringWindowToTop(ulong HWND) Library "user32.dll"
Function ulong FindWindowA (String lpClassName,String lpWindowName) Library "user32.dll"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表