主頁 > 軟體工程 > 關于不能洗掉程式本身!

關于不能洗掉程式本身!

2020-09-26 00:17:48 軟體工程


 
‘ “KillMe.exe” 程式代碼:
Private Sub Form_Load()
    Print "Hello World!"          
    Unload Me
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Shell "cmd /c del """ & App.EXEName & ".exe""", vbHide        ‘洗掉自己
End Sub

‘----------------------------------------------------------------------------------------------------

‘ “Book1.xls” Excel VBA代碼:
Private Sub Workbook_Open()
    FileName = ThisWorkbook.Path & "\KillMe.exe"
    x = Shell(FileName, vbHide )
End Sub


描述一下:這兩段代碼的作用是當打開“Book1.xls”的時候呼叫“KillMe.exe”。問題是單獨運行“KillMe.exe”可以正常洗掉自己,但是通過“Book1.xls”的 VBA 呼叫時“KillMe.exe” 時則不能正常洗掉自己。該如何解決?

uj5u.com熱心網友回復:

Shell "cmd /c del nouse&ren """ & App.EXEName & ".exe"" nouse", vbHide        ‘洗掉自己

uj5u.com熱心網友回復:

參考 2 樓 zhao4zhong1 的回復:
Shell "cmd /c del nouse&ren """ & App.EXEName & ".exe"" nouse", vbHide        ‘洗掉自己
  還是只能雙擊程式才能洗掉自己而不能通過Excel vba的Shell呼叫來實作。

uj5u.com熱心網友回復:

Private Sub Form_Unload(Cancel As Integer)
Dim f As Integer
    f=FreeFile()
    Open "killmyself.bat" for output as #f
    Print #f,"taskkill /IM """ & App.EXEName & ".exe"""
    Print #f,"del """ & App.EXEName & ".exe"""
    Print #f,"del killmyself.bat"
    Close #f
    Shell "killmyself.bat",vbHide
End Sub

uj5u.com熱心網友回復:

參考 4 樓 zhao4zhong1 的回復:
Private Sub Form_Unload(Cancel As Integer)
Dim f As Integer
    f=FreeFile()
    Open "killmyself.bat" for output as #f
    Print #f,"taskkill /IM """ & App.EXEName & ".exe"""
    Print #f,"del """ & App.EXEName & ".exe"""
    Print #f,"del killmyself.bat"
    Close #f
    Shell "killmyself.bat",vbHide
End Sub
  試了一下代碼,結果還是老樣子,用vba呼叫后就是不能洗掉程式本身。

uj5u.com熱心網友回復:

試試設定計劃任務,延遲1分鐘執行killmyself.bat

C:\>SCHTASKS /Create /?

SCHTASKS /Create [/S system [/U username [/P [password]]]]
    [/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]
    [/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]
    [/RI interval] [ {/ET endtime | /DU duration} [/K] ]
    [/SD startdate] [/ED enddate] [/IT] [/Z] [/F]

描述:
    允許管理員在本地或遠程系統上創建計劃任務。

引數串列:
    /S           system            指定要連接到的遠程系統。如果省略這個
                                   系統引數,默認是本地系統。

    /U           username          指定命令執行的用戶背景關系。

    /P           [password]        指定給定用戶背景關系的密碼。如果省略則
                                   提示輸入。

    /RU          username          指定任務在其下運行的“運行方式”用戶
                                   帳戶(用戶背景關系)。對于系統帳戶,有效
                                   值是 ""、"NT AUTHORITY\SYSTEM" 或
                                   "SYSTEM"。

    /RP          [password]        指定“運行方式”用戶的密碼。要提示輸
                                   入密碼,值必須是 "*" 或無。系統帳戶
                                   會忽略該密碼。

    /SC          schedule          指定計劃頻率。
                                   有效計劃任務: MINUTE, HOURLY,
                                   DAILY, WEEKLY, MONTHLY, ONCE,
                                   ONSTART, ONLOGON, ONIDLE.

    /MO          modifier          改進計劃型別以允許更好地控制計劃重復
                                   周期。有效值列于下面“修改者”部分中。

    /D           days              指定該周內運行任務的日期。有效值:
                                   MON, TUE,WED, THU, FRI, SAT, SUN
                                   和對 MONTHLY 計劃的 1 - 31
                                   (某月中的日期)。通配符“*”指定所有
                                   日期。

    /M           months            指定一年內的某月。默認是該月的第一天。
                                   有效值: JAN, FEB, MAR, APR, MAY, JUN,
                                   JUL, AUG, SEP, OCT, NOV, DEC。通配符
                                   “*” 指定所有的月。

    /I           idletime          指定運行一個已計劃的 ONIDLE 任務之前
                                   要等待的空閑時間。
                                   有效值范圍: 1 到 999 分鐘。

    /TN          taskname          指定唯一識別這個計劃任務的名稱。

    /TR          taskrun           指定在這個計劃時間運行的程式的路徑
                                   和檔案名。
                                   例如: C:\windows\system32\calc.exe

    /ST          starttime         指定運行這個任務的開始時間。時間格式
                                   是 HH:mm (24 小時時間) 例如 14:30 為
                                   2:30 PM。默認到當前時間。

    /RI          interval          用分鐘指定重復間隔。這無法應用于
                                   已計劃的型別: MINUTE, HOURLY,
                                   ONSTART, ONLOGON, ONIDLE。
                                   有效范圍: 1 - 599940 分鐘。
                                   如果指定了 /ET 或 /DU,它會默認到
                                   10 分鐘。

    /ET          endtime           指定運行任務的結束時間。
                                   時間格式是 HH:mm (24 小時時間)
                                   例如 14:50 為 2:50 PM。這無法運用于
                                   計劃型別: ONSTART, ONLOGON, ONIDLE。

    /DU          duration          指定運行此任務的持續時間。
                                   時間格式是 HHHH:mm。
                                   這不適用于 /ET 和計劃型別: ONSTART,
                                    ONLOGON, ONIDLE。如果指定了 /RI,
                                   那么默認為 1 小時。

    /K                             在結束時間或持續時間終止此任務。
                                   這不適用于計劃型別: ONSTART,
                                   ONLOGON, ONIDLE。必須指定 /ET
                                   或 /DU。

    /SD          startdate         指定第一次運行這個
                                   任務的日期。格式是 yyyy/mm/dd。
                                   默認為當前時間。這不適用于計劃
                                   型別: ONCE, ONSTART, ONLOGON,
                                   ONIDLE.

    /ED          enddate           指定此任務運行的最后一天的日期。
                                   格式是 yyyy/mm/dd。
                                   這不適用于計劃型別: ONCE, ONSTART,
                                   ONLOGON, ONIDLE。

    /IT                            /RU 用戶在此作業運行時登錄才啟
                                   用此任務用互動方式運行。
                                   用戶登錄后此任務才運行。

    /Z                             如果此任務沒有計劃再次運行,
                                   會洗掉此任務。

    /F                             如果指定的任務已經存在,強行
                                   創建此任務并不顯示警告。

    /?                             顯示該幫助訊息。

修改者: 按計劃型別的 /MO 開關的有效值:
    MINUTE:  1 到 1439 分鐘。
    HOURLY:  1 到 23 小時。
    DAILY:   1 到 365 天。
    WEEKLY:  1 到 52 周。
    ONCE:    無修改者。
    ONSTART: 無修改者。
    ONLOGON: 無修改者。
    ONIDLE:  無修改者。
    MONTHLY: 1 到 12,或
             FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY。

示例:
    ==> 在遠程機器 "ABC" 上創建計劃任務 "doc",
        該機器每小時在 "runasuser" 用戶下運行 notepad.exe。

        SCHTASKS /Create /S ABC /U user /P password /RU runasuser
                 /RP runaspassword /SC HOURLY /TN doc /TR notepad

    ==> 在遠程機器 "ABC" 上創建計劃任務 "accountant",
        在指定的開始日期和結束日期之間的開始時間和結束時間內,
        每隔五分鐘運行 calc.exe。

        SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
                 /MO 5 /TN accountant /TR calc.exe /ST 12:00 /ET 14:00
                 /SD 2002/12/30 /ED 2002/12/30 /RU runasuser /RP

    ==> 創建計劃任務 "gametime",在每月的第一個星期天
        運行“空當接龍”。

        SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN gametime
                 /TR c:\windows\system32\freecell

    ==> 在遠程機器 "ABC" 創建計劃任務 "report",
        每個星期運行 notepad.exe。

        SCHTASKS /Create /S ABC /U user /P password /RU runasuser
                 /RP runaspassword /SC WEEKLY /TN report /TR notepad.exe

    ==> 在遠程機器 "ABC" 創建計劃任務 "logtracker",
        每隔五分鐘從指定的開始時間到無結束時間,
        運行 notepad.exe。將提示輸入 /RP
        密碼。

        SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
                 /MO 5 /TN logtracker
                 /TR c:\windows\system32\notepad.exe /ST 18:30
                 /RU runasuser /RP

    ==> 創建計劃任務 "gaming",每天從 12:00 點開始到
        14:00 點自動結束,運行 freecell.exe。

        SCHTASKS /Create /SC HOURLY /TN gaming /TR c:\freecell /ST 12:00
                 /ET 14:00 /K

C:\>

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/128875.html

標籤:VB基礎類

上一篇:產品出庫和產品入庫sql查詢

下一篇:vb中高斯賽德爾迭代回圈,回圈陳述句是什么

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more