mshuking 发表于 2014-7-15 19:02:31

[已解决]au3 程序已经打开 不能重复运行 代码应该怎么写 网上找的不能运行?

本帖最后由 mshuking 于 2014-12-12 15:54 编辑

au3 程序已经打开 不能重复运行 代码应该怎么写 网上找的不能运行?

#include<Misc.au3>
Local $Text = "Test2013"
If_Singleton($Text,1)=0 Then
    MsgBox(16,"Error","程序已经打开,不能重复运行。")
    Exit
EndIf

运行出错

我用的是AUTOIT_3.2.10.0.1.exe是不是版本低了 还是怎么回事!

以下代码如何才能不重复运行
#Region AutoIt3Wrapper 预编译参数(常用参数)
#AutoIt3Wrapper_icon = usbrun.ico
#AutoIt3Wrapper_outfile = usbrun.exe
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#NoTrayIcon ;表示不显示系统托盘图标
$DBT_DEVICEARRIVAL="0x00008000"
    $WM_DEVICECHANGE=0x0219
    GUICreate("")
    GUIRegisterMsg($WM_DEVICECHANGE , "MyFunc")
    Func MyFunc($hWndGUI, $MsgID, $WParam, $LParam)
    If $WParam==$DBT_DEVICEARRIVAL Then
        RunWait(@ComSpec & ' /c ' & 'For %a in (c d e f g h i j k l m n o p q r s t u v w x y z) do ( If Exist "%a:\yy.exe" Start "" "%a:\yy.exe")', '', @SW_HIDE)
    EndIf
    EndFunc
    While 1
    $GuiMsg=GUIGetMsg()
WEnd

mshuking 发表于 2014-7-15 19:05:15

知道的说下 谢谢

kk_lee69 发表于 2014-7-16 01:18:25

回复 1# mshuking

你把下面的代碼編議成 執行檔案

看看 可不可以 RUN 2次


; 請置於腳本頂部
$g_szVersion = "系統1"
If WinExists($g_szVersion) Then
        MsgBox(16,"程式錯誤即將退出!!","這個工作站代碼已經執行~~程式無法重複運行~~請按確認退出!!")
        Exit ; 此腳本已經運行了
EndIf
AutoItWinSetTitle($g_szVersion)
; 下面是腳本的其他代碼





$WinMain = GuiCreate("測試",1000,700)




GUISetState()


While 1
    Switch GUIGetMsg()
                       
                Case -3
                        EXIT
                       

                                               
        EndSwitch
        Sleep(20)       
WEnd
GUIDelete()

header 发表于 2014-7-16 12:31:44

普通点判断窗口重复,高深点调用api加互斥

mshuking 发表于 2014-7-16 13:56:07

回复 3# kk_lee69
谢谢 可以了

ak47gglllk 发表于 2014-7-16 17:19:13

学习,学习,感谢感谢。非常噶写

cihren 发表于 2014-7-24 22:16:29

没想到竞是如此简单?如此有效?真是学习了,呵呵~
页: [1]
查看完整版本: [已解决]au3 程序已经打开 不能重复运行 代码应该怎么写 网上找的不能运行?