史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   軟體應用問題討論區 (http://forum.slime.com.tw/f5.html)
-   -   如何用指令的方式關掉explorer (http://forum.slime.com.tw/thread148579.html)

ctg 2005-05-02 04:20 PM

如何用指令的方式關掉explorer
 
目的..做一些安裝程式的應用
我只會用RAR來..安裝東西 :dcft689kj
像是之前做的Voubsub的中文化版 :ddrf567h:

總而言之...想要抽取部分元件出來替換..但是部分元件有時候被使用
我都用工作管理員關掉explorer..然後執行explorer..讓桌面恢復正常.. :dcft689kj

mini 2005-05-02 04:59 PM

其實只要是 system32 裡的檔案
可以試試
先改名稱
比如 vsfilter.dll 改成 [vsfilter].dll
接下來就可以複製新的進來了
那舊的怎麼辦?
只有下次開機才可以刪除
可以在
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
登入一個(只執行一次的)自動刪除服務
使用 regsvr32 /s autodel.reg 登入此服務

========autodel.reg==========
REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
"DelOldDLL"="del %windir%/system32/[vsfilter].dll"

del 是不是可以這樣用我還沒實驗 ^^||

ctg 2005-05-02 10:27 PM

改檔名?? :drtyt76h6
可是那檔案已被使用..

平常..我直接覆蓋是可以的 :ddrf567h:

但是..像是我看用Voubsub外掛的電影後
想要覆蓋檔案..會出現無法覆蓋 :dcft689kj

mini 2005-05-03 08:57 PM

可以改名字的 (您可以試試看)
我都是這麼做的
設計一批次檔(.bat)

ren %windir%/system32/vsfilter.dll [vsfilter].dll
copy /V /Y vsfilter.dll %windir%/system32
regsvr32 /s autodel.reg

不過上面的 "DelOldDLL"="del %windir%/system32/[vsfilter].dll"
不能直接引用 del
要的話我可以用 c 或 vb 些一個最簡單的 del.exe 檔給你
變成
"DelOldDLL"="del.exe %windir%/system32/[vsfilter].dll"

GaMNiA 2005-05-03 09:09 PM

TASKKILL /F /IM explorer.exe

ctg 2005-05-03 10:16 PM

感謝..mini與Gamnia..的指教 :deftgh65:

更名
ren %windir%/system32/vsfilter.dll [vsfilter].dll
我改成 :drtyt76h6 ...
ren %windir%\system32\vsfilter.dll [vsfilter].dll
才能使用..

regsvr32 /s autodel.reg..為啥要做這一行阿..不懂 :drtyt76h6 ..我想一樣都是Vobsub有差ㄇ
..如果東西不一樣..我還能理解

而 c 或 vb 些一個最簡單的 del.exe
怎們製作阿..(因為我想學. :cvbhb084: .我會一點點C跟JAVA.. :ddrf567h: )

mini 2005-05-04 03:40 PM

不好意思 "/" "\" 常常寫錯 ^^||

To "regsvr32 /s autodel.reg..為啥要做這一行阿"
autodel.reg 的內容就是在
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
windows註冊裡
加一個刪除舊的 [vsfilter].dll 指令
RunOnce 這一個 機碼 是可以放一些開機時 要自動執行的任務,而且只有一次效用,執行後不論成敗會自動消失
而regsvr32 是一個命令行.exe是將 autodel.reg 登入到windows註冊內(/s 表示不顯示選擇資訊...)

版友一開始的要求是
"關掉explorer" 但這種方法不太好,會終結掉一些常駐程式 (你的防毒或防火牆可能或被關掉)
所以才以上述方法解決之

VB的代碼如下 (start.bas),請編譯成 del.exe

Sub Main()
Dim CommandLineStr As String

On Error GoTo NoDoThing

If Command <> "" Then
If InStr(1, Command, ":\") = 0 Then CommandLineStr = App.Path + "\" + Command
Kill CommandLineStr
End If

NoDoThing:

End Sub


如沒 VB 這裡有編譯好的
http://www.freepgs.com/uploadall/upload4/Delfile_include_EXE.jpg
請用 flashget 下載此圖
將 .jpg 改成 .rar 後解壓至 system32 內

P.S. c 語言的話可以用 unlink();

ctg 2005-05-04 08:07 PM

謝謝min的指教 :deftgh65: i
關於regsvr32這部分的解說..真是謝謝啦 :ddrf567h:
的確是終結掉一些常駐程式(這幾天剛好有碰到此情形 :dcft689kj )
所以說關掉explorer..不是很好的做法 :ddrf567h:

關於DEL.EXE
你是說用unlink();
代替function..Sub Main()?? :drtyt76h6

mini 2005-05-04 08:20 PM

unlink(); 是 c 裡的函式
確切用法及需導入的 .h標頭檔
可找 google
(因為您說會 C 語言,所以告知有這麼個 函式 可用)

如沒下得
http://www.freepgs.com/uploadall/upl...nclude_EXE.jpg
是因為這個網站server目前休息中(請等待...)

ctg 2005-05-04 09:09 PM

引用:

作者: mini
unlink(); 是 c 裡的函式
確切用法及需導入的 .h標頭檔
可找 google
(因為您說會 C 語言,所以告知有這麼個 函式 可用)

如沒下得
http://www.freepgs.com/uploadall/upl...nclude_EXE.jpg
是因為這個網站server目前休息中(請等待...)

那謝謝摟... :deftgh65:
我會去解析你寫的VB(我也看的懂一點點 :dcft689kj ).我會去MSDN跟Goolge找找看
.然後再運用寫成C或是C++ :ddrf567h:

提外話:近代的程式語言大多都有接觸..C..C++..C#..JAVA..就唯獨沒碰過VB. :decfghi6:

mini 2005-05-05 08:50 AM

因為寫視窗介面還是 VB 比較簡單 ^^
覺得 C++ 太挑剔了

ctg 2005-05-05 05:25 PM

引用:

作者: mini
因為寫視窗介面還是 VB 比較簡單 ^^
覺得 C++ 太挑剔了

印象中VB的語法滿口語化 :ddrf567h:
..你說的沒錯..C++複雜多了.. :aqw345g:
不過呢..我既然學了..就要好好的適應他 :dcft689kj
.... :ddrf567h:


所有時間均為台北時間。現在的時間是 11:37 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1