regsvr32

話說.....在 cmo 寫的第二個 report 程式, 仍舊是用 excel, 沒動用到 database, 不過有要用到 mscomct 這個元件, 是可以來選日期的元件! 但竟然在 jim 老大的 notebook 上沒能夠做執行這個元件... but 在他的 c:\\winnt\\system32 下確照得到這一系列的檔案...看是來 OS 層的 registe 沒有記錄到這個檔!

btw, 後來打電話給峰哥老大救, 終於迴想起 regsvr32 這個指令, 可以讓 OS \"認得\" 這 ocx檔! ...:P great! ...要把 regsvr32 這個指令記著才是!

[轉貼]程式自動執行的方法

關於「程式自動執行的方法」

1.「開始/程式集/啟動 」:
 C:\\windows\\start menu\\programs\\startup {chinese/english}
 在注冊表中的位置﹕ HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell
 Folders Startup=\"C:\\windows\\start menu\\programs\\startup\"
 由於可以直接在選單中刪除,很容易被更改。

2.「 改Windows 的 ini 檔」:
 - Win.ini :只執行一次。
  [windows]
   load = file.exe
   run = file.exe

 - System.ini :當Explorer.exe 開始或被摧毀重建時,就被執行。
  Shell=Explorer.exe file.exe

 註:若File.exe 不存在時,會顯示訊息。

3.「c:\\windows\\wininit.ini or wininit.exe 」:
 一旦運行就被windows刪除,安裝的setup程序常用
 Example: (content of wininit.ini)
 [Rename]
 NUL=c:\\windows\\picture.exe
 例子﹕將c:\\windows\\picture.exe設置為NUL, 表示刪除它,完全隱蔽的執行!

4.「c:\\windows\\winstart.bat」:
 看似平常,但每次系統啟動都會執行。適用 for dos 軟體。

5. 「Autoexec.bat」:
 在DOS下每次自動啟動,適用 for dos 軟體。

6.「用Registry 檔」:
 [HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
 [HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunServicesOnce]
 [HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run]
 [HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce]
•以下會依照登入使用者不同,也會更改其值。
 [HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run]
 [HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce]
 [HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]

7.「Registry Shell Spawning」: (開啟文件時,一併啟動程式)
 [HKEY_CLASSES_ROOT\\exefile\\shell\\open\\command] =\"%1\" %*
 [HKEY_CLASSES_ROOT\\comfile\\shell\\open\\command] =\"%1\" %*
 [HKEY_CLASSES_ROOT\\batfile\\shell\\open\\command] =\"%1\" %*
 [HKEY_CLASSES_ROOT\\htafile\\Shell\\Open\\Command] =\"%1\" %*
 [HKEY_CLASSES_ROOT\\piffile\\shell\\open\\command] =\"%1\" %*
 [HKEY_LOCAL_MACHINE\\Software\\CLASSES\\batfile\\shell\\open\\command] =\"%1\" %*
 [HKEY_LOCAL_MACHINE\\Software\\CLASSES\\comfile\\shell\\open\\command] =\"%1\" %*
 [HKEY_LOCAL_MACHINE\\Software\\CLASSES\\exefile\\shell\\open\\command] =\"%1\" %*
 [HKEY_LOCAL_MACHINE\\Software\\CLASSES\\htafile\\Shell\\Open\\Command] =\"%1\" %*
 [HKEY_LOCAL_MACHINE\\Software\\CLASSES\\piffile\\shell\\open\\command] =\"%1\" %*

 這些\"%1\" %* 格式表示\"%1\"為執行檔名替換位置, %*為帶入參數需要被賦值, 如果將其改為 server.exe \"%1\" %*
 每次執行exe/pif/com/bat/hta 等 文件都會執行Server.exe,但這就意味Server.exe必須處理開啟exe/pif/com/bat/hta 等文件的任務了。

8. 雜項說明
找找以下的鍵值﹕
[HKEY_LOCAL_MACHINE\\Software\\CLASSES\\ShellScrap]
@=\"Scrap object\" \"NeverShowExt\"=\"\"

NeverShowExt 鍵 可以隱藏SHS文件的擴展名.shs
如果你將一個文件改名為﹕\"abc.jpg.shs\" 它只顯示\"abc.jpg\"
如果你的注冊表裡有很多NeverShowExt鍵值,刪除他們。

注意﹕這些方法不能全部適應Win2K,但您可以自行檢測。

Win2K的 WSctiptHost

  這幾天 IE 上開始沒辦法看到 flash 的動劃, 一開始頗不以為意! ..but 今天我想說要來整理一下我公司電腦的備份檔, 沒想到....從11/19開始就都沒有備份了! 一開始還以為是Windows排程的問題. 不過都沒去動它的情況下應該是不會有其它的怪問題ㄚ! ..唉唉~..弄了辦天, 借了 Win2K SP4 的光碟片來. 準備要試著以 SP4來repair 一下! ...好像用 Service Pack 也可以來做一定程度的 repair , 上次我電腦上 VB 開不起來! 這怎麼得了, 這是吃飯的工具.....我也是用了 SP6 for VB6 來做一個repair ..就可以開起來了!

  不過, repair實在是要太久時間了, 我決定還是先找找看原因是在哪裡! ....結果, 發現排程的log檔中有詳細說明該跑的程式有去觸發它ㄚ! 但我就算是以手動的方式去觸發該排程, 我還是看不到我寫好的那程式有無任何動靜! ....我開始懷疑是不是程式根本沒跑起來(是一VBScript)!

  我寫了一個簡短的vbs檔:
msgbox \"haha!\"
  並且在Win2K裡用 WScript.exe 和 CScript 來跑它, 都是獲得一個\"無法找到引擎”的回應! 看來我已經找到問題所在處了! ..應該是 WScript的 runtime不知道上哪ㄦ去了! 於是就找出WScript的文件來看, 裡面說明到, Win2k內建的是 2.0版, 而目前都是在用 5.6版的...看來, 應該可以找到 5.6版的安裝程式 or 直接用 SP4就可以修復了! ...結論是我在微軟的官方網站找到了WSH 5.6 cht ...XD ...才6xxkb . 抓下來安裝後, 還要求我重開機...XDXD ...重開機後, 就可以玩了! ....ha~....
  真是有點難以理解, 為什麼微軟的東西總是會用一段時間後就會毀損掉或者是得重新安裝過~....

VB6連 MySQL

MySQL< -->MyODBC< -->ADO< -->Recordset< -->VB6

我想, 在 VB.NET 裡應該也可以, 只是 VB.NET內建是用 ADO.NET
可能 connection string 不太一樣! ..

step 1.

安裝MyODBC, 我是安裝 MyODBC-standard-3.51.9-win.msi
sure, 到 http://www.mysql.com

安裝好後, 我完全沒有做設定! ...只是在控制台的ODBC裡看到多一項driver:
MySQL ODBC 3.51 Driver
Continue reading "VB6連 MySQL"