免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 回復 發帖

暫存

我有做過 跟你類似的事

因為大陸工廠的作業員看不懂英文 燒錄的時後常常亂按

也不懂的看燒錄的結果對不對  所以我當時寫了一個外掛的程式

第一個就是使用  FindWindow 去抓取Handle

我第二個是去搜尋記憶體    去找物件記憶體的位置 如你輸出的字串   label1.text=XXXX   

基本上label1的記憶體位置在這台電腦上每次開啟來都是一樣的 但在不同的電腦 會不一樣

所以我在初始化會去搜尋一下

找到的話就能去判斷訊息  接下來就是送出你要的字串


Dim WindowsHandle As IntPtr = FindWindow(vbNullString, "MPLAB IDE v8.56 - [Output]")

GetWindowThreadProcessId(WindowsHandle, Process_ID)
  Process_Handle = OpenProcess(PROCESS_ALL_ACCESS, False, Process_ID)

h = Form1.ReadProcessMemory(Form1.Process_Handle, j, buffer, buffer.Length, bytesRead)

(J就是你搜尋到的啟始位置)  把它讀出來做比對  在送出你要的字串

(因為它的編譯器可能是16位元或32位元的 所以要試一下)

SetForegroundWindow(WindowsHandle)

SendKeys.SendWait("%G")

你會用到的應該就這幾個API  其它自己去完成吧
--------------------------------------------------------------
Visual Basic .NET 編譯器選項

                        - 輸出檔案 -
/out:<file>             指定輸出檔名稱。
/target:exe             建立主控台應用程式 (預設)。 (簡短形式: /t)
/target:winexe          建立 Windows 應用程式。
/target:library         建立程式庫組件。
/target:module          建立可以加入組件的模組。

                        - 輸入檔 -
/addmodule:<file>       從指定的模組來參考中繼資料。
/recurse:<wildcard>     根據萬用字元的指定來加入目前目錄和子目錄中所有檔案。
/reference:<file_list>  從指定的組件來參考中繼資料。 (簡短形式: /r)

                         - 資源 -
/linkresource:<resinfo> 連結指定的檔案當作外部組件資源。                     resinfo:<file>[,<name>[,public|private]]                 (簡短形式: /linkres)
/resource:<resinfo>     加入指定的檔案當作內嵌的組件資源。                     resinfo:<file>[,<name>[,public|private]]                 (簡短形式: /res)
/win32icon:<file>       指定某一個 Win32 圖示檔 (.ico) 給預設的 Win32 資源。
/win32resource:<file>   指定 Win32 資源檔案 (.res)。

                        - 程式碼產生 -
/optimize[+|-]          啟用最佳化。
/removeintchecks[+|-]   不檢查整數。預設是關閉的。
/debug[+|-]             發出偵錯資訊。
/debug:full             發出完整偵錯資訊 (預設)。
/debug:pdbonly          只發出 PDB 檔案。

                        - 錯誤和警告 -
/nowarn                 關閉警告。
/warnaserror[+|-]       警告視為錯誤。

                        - 語言 -
/define:<symbol_list>   宣告全域條件式編譯符號。                     symbol_list:name=value,... (簡短形式: /d)
/imports:<import_list>  在參考的中繼資料檔案中宣告命名空間的全域匯入。          import_list:namespace,...
/optionexplicit[+|-]    變數必須宣告。
/optionstrict[+|-]      強制採用嚴格的語意。
/rootnamespace:<string> 指定所有型別宣告的根命名空間。
/optioncompare:binary   採用二進位樣式來比較字串。這是預設值。
/optioncompare:text     採用文字樣式來比較字串。

                        - 其他 -
/help                   顯示此用法訊息。 (簡短形式: /?)
/nologo                 不要顯示編譯器著作權橫幅。
/quiet                  無對話輸出模式。
/verbose                顯示詳細訊息。

                        - 進階 -
/baseaddress:<number>   程式庫或模組 (十六進位) 的基底位址。
/bugreport:<file>       建立錯誤報告檔案。
/delaysign[+|-]         只使用強式名稱金鑰的公開金鑰延遲組件的簽名。
/keycontainer:<string>  指定強式名稱金鑰容器。
/keyfile:<file>         指定強式名稱金鑰檔。
/libpath:<path_list>    搜尋中繼資料參考的目錄清單。(以分號區隔。)
/main:<class>           指定包含 Sub Main 的 Class 或 Module。它也可以是繼承自  System.Windows.Forms.Form 的 Class。 (簡短形式: /m)
/netcf                  以 .NET Compact Framework 為目標。
/sdkpath:<path>         .NET Framework SDK 目錄 (mscorlib.dll) 的位置。
/utf8output[+|-]        以 UTF8 字元編碼發出編譯器輸出。
@<file>                 將文字檔內容設定為命令列的設定。

-----------------------------------------------------------------------
devenv /build Debug "yourApplication.vbproj"
返回列表