① 易語言編的程序怎麼樣才可以防止它再啟動
防止再次啟動針對的是本台電腦,還是其他電腦都不允許,如果是本地的電腦只需在注冊表裡搞個標記就好了(這個非常簡單,源碼簡單一筆帶過)
.版本 2
.子程序 __啟動窗口_創建完畢
.如果 (注冊項是否存在 (4, 「測試」) = 假)
寫注冊項 (4, 「測試」, 「1」)
.否則
信息框 (「已有程序運行過一次了,不能讓你再運行(僅這台電腦而已)」, 0, )
結束 ()
.如果結束
接下來才是重點,只在自己電腦運行後本地的電腦以及所有的電腦都不準在運行第二次的源碼(將數據寫入自身,在哪台電腦都有效)!!
.版本 2
.支持庫 spec
.支持庫 shell
.支持庫 dp1
.子程序 __啟動窗口_創建完畢
.局部變數 命令行, 文本型, , "0"
.局部變數 自身路徑, 文本型
.局部變數 已生成的檢測程序, 位元組集
取命令行 (命令行)
.如果真 (取數組成員數 (命令行) = 2 且 命令行 [1] = 「run」)
已生成的檢測程序 = 生成標記位元組集 (讀入文件 (命令行 [2]), 到位元組集 (「一個檢測」), 到位元組集 (「test」))
.判斷循環首 (寫到文件 (命令行 [2], 已生成的檢測程序) = 假)
延遲 (10)
.判斷循環尾 ()
返回 ()
.如果真結束
.如果 (讀取標記位元組集 (到位元組集 (「一個檢測」)) = 假) ' 如果為假,則是第一次運行過的
自身路徑 = 取運行目錄 () + 「\」 + 取執行文件名 ()
復制文件 (自身路徑, 取特定目錄 (11) + 取執行文件名 ())
運行 (取特定目錄 (11) + 取執行文件名 () + 「 run 」 + #引號 + 自身路徑 + #引號, 假, )
結束 ()
' 寫入第一次已運行過的標記,下次運行時就不會返回假了,則說明是第二次運行
.否則
信息框 (「已有第二次運行了,不能再讓你運行了(任何電腦都不允許)!」, 0, )
結束 ()
.如果結束
.子程序 讀取標記位元組集, 邏輯型, 公開, 用於自身讀取已傳遞標記的位元組集,可讀取出數據返回真否則假
.參數 標記, 位元組集, , 在生成端創建的標記
.參數 取出位元組集變數, 位元組集, 參考 可空
.局部變數 自身位元組集, 位元組集
.局部變數 加密標記, 位元組集
.局部變數 取出標記位元組集, 位元組集
自身位元組集 = 讀入文件 (取運行目錄 () + 「\」 + 取執行文件名 ())
加密標記 = 加密數據 (標記, 「我愛傻子」, ) ' 加密密碼可以隨便改
取出標記位元組集 = 解密數據 (取位元組集之後至位元組集 (自身位元組集, 加密標記, 加密標記 + 到位元組集 (「end」), ), 「我愛傻子」, )
.如果真 (取出標記位元組集 ≠ { })
取出位元組集變數 = 取出標記位元組集
返回 (真)
.如果真結束
返回 (假)
.子程序 生成標記位元組集, 位元組集, 公開, 在生產端使用的,給調用端生成一個帶標記的位元組集
.參數 源程序, 位元組集
.參數 標記, 位元組集, , 與讀取的標記一致且不得創建重復的標記,否則將覆蓋前一個標記的位元組集
.參數 欲增加位元組集, 位元組集, , 給調用端生成傳遞一個位元組集
.局部變數 生成後的位元組集, 位元組集
.局部變數 加密標記, 位元組集
加密標記 = 加密數據 (標記, 「我愛傻子」, )
欲增加位元組集 = 加密數據 (欲增加位元組集, 「我愛傻子」, )
生成後的位元組集 = 源程序 + 加密標記 + 欲增加位元組集 + 加密標記 + 到位元組集 (「end」)
返回 (生成後的位元組集)
.子程序 修改標記位元組集, 邏輯型, 公開, 在創建的基礎上進行修改傳遞的數據返回新修改的位元組集
.參數 源程序, 位元組集
.參數 標記, 位元組集
.參數 欲修改位元組集, 位元組集
.參數 生成修改後的程序, 位元組集, 參考 可空
.局部變數 生成後的位元組集, 位元組集
.局部變數 加密標記, 位元組集
.局部變數 讀取位元組集, 位元組集
加密標記 = 加密數據 (標記, 「我愛傻子」, )
欲修改位元組集 = 加密數據 (欲修改位元組集, 「我愛傻子」, )
讀取位元組集 = 取位元組集之後至位元組集 (源程序, 加密標記, 加密標記 + 到位元組集 (「end」), )
生成修改後的程序 = 子位元組集替換 (源程序, 讀取位元組集, 欲修改位元組集, , )
.如果真 (到文本 (讀取位元組集) ≠ 「」)
返回 (真)
.如果真結束
返回 (假)
.子程序 取位元組集之後至位元組集, 位元組集, , 總的,參考取位元組集之前+取位元組集之後
.參數 源位元組集, 位元組集
.參數 起位元組集, 位元組集
.參數 至位元組集, 位元組集
.參數 是否包括起位元組集, 邏輯型, 可空
.參數 是否包括至位元組集, 邏輯型, 可空
.局部變數 取位元組集之前, 位元組集
.局部變數 取位元組集之後, 位元組集
取位元組集之前 = 子位元組集替換 (源位元組集, 取位元組集中間 (源位元組集, 倒找位元組集 (源位元組集, 至位元組集, ), 取位元組集長度 (源位元組集) + 倒找位元組集 (源位元組集, 至位元組集, )), , , )
取位元組集之後 = 子位元組集替換 (取位元組集中間 (取位元組集之前, 倒找位元組集 (取位元組集之前, 起位元組集, ), 取位元組集長度 (取位元組集之前) + 倒找位元組集 (取位元組集之前, 起位元組集, )), 起位元組集, , , )
.如果真 (是否包括起位元組集)
取位元組集之後 = 起位元組集 + 取位元組集之後
.如果真結束
.如果真 (是否包括至位元組集)
取位元組集之後 = 取位元組集之後 + 至位元組集
.如果真結束
返回 (取位元組集之後)
② 易語言如何編寫開機自動啟動的程序
1、首先需要打開易語言軟體,先添加兩個按鈕組件,一個把按鈕標題設置為設置開機啟動,另一個把按鈕標題設置為取消開機啟動。
③ 易語言如何實現 打開第一次運行 子程序1 第二次打開運行 子程序 2 以後每次打開循環 子程序1 和 子程序2
熱鍵.注冊 (窗口1.取窗口句柄 (),1, #C鍵, &自定義1)'Alt+C
監視熱鍵(&你的子程序,#C鍵,1)'Alt+C
以上都需要超級模塊
④ 易語言怎麼設置不能開第2次同樣的EXE程序
方法很多種,這里用AIP來做
.版本
2
.程序集
窗口程序集1
.子程序
__啟動窗口_創建完畢
.如果真
(打開事件同步對象
(2031619,
假,
「myappname」)
≠
0)
'
"myappname"可以是任何文本,但是最好要長一點以保證和系統中已有其他事件對象的名稱不相沖突。
信息框
(「不能重復運行本程序!」,
0,
)
銷毀
()
返回
()
.如果真結束
創建事件同步對象
(0,
假,
假,
「myappname」)
.版本
2
.DLL命令
創建事件同步對象,
,
,
"CreateEventA"
.參數
lpEventAttributes,
整數型
.參數
bManualReset,
邏輯型
.參數
bInitialState,
邏輯型
.參數
lpName,
文本型
.DLL命令
打開事件同步對象,
整數型,
,
"OpenEventA"
.參數
dwDesiredAccess,
整數型
.參數
bInheritHandle,
邏輯型
.參數
lpName,
文本型
⑤ 易語言 這個在執行的時候 程序會打開兩次 這是為什麼啊 求解決
你好,把結束()放在跳出循環()後面,或者跳出循環再結束,時鍾周期不要調那麼低,800就夠了