2010-01-02 105 views

回答

2

在Windows中運行一些簡單對話框和一些相關代碼的最簡單方法之一是AutoHotKey。它也是免費的啤酒。

這是一個宏腳本環境,您可以將小程序編寫爲腳本(並將它們掛到鍵上,這就是它的名稱和原始目的)。

AHK是一種類似BASIC的小型腳本語言,它們都是關於簡單性和易用性的。對於大部分你喜歡做的小項目來說足夠好。


一個用例/經驗

我根本不是一個Windows程序員;我曾經在Delphi中編寫過程序,但現在我主要使用Java。最近我的女朋友需要一些黑客攻擊:她用註冊碼購買了一款產品,並且部分密鑰從貼紙上弄髒了。我們需要的是一個暴力程序,在程序的註冊對話框中嘗試所有可能丟失的字母/數字。合法的黑客攻擊,如果你願意的話。

我考慮過在Delphi中這樣做,然後我開始考慮需要將哪些奧術系統調用到另一個程序的GUI中,並將文本戳到輸入對話框中......原來它非常容易在AHK。我需要大約10分鐘來編寫我的黑客程序,花了大約5分鐘才找到正確的密鑰。

如果我沒有記錯的話,我的小程序甚至包含了一個對話框,用於指定我們所知道的關鍵以及哪些地方必須進行嘗試和錯誤。當然還有一個「開始」按鈕。


更新與例如

我真希望我還有那個小劇本我寫了如上文所述,但它已經好幾年了,我扔它拿走。

我挖出來在網絡上這個小寶石:

這是一個使用定時器來改變一個MsgBox對話框按鈕的名稱的工作示例腳本。儘管按鈕名稱已更改,但IfMsgBox命令仍要求按其原始名稱引用按鈕。

#SingleInstance 
SetTimer, ChangeButtonNames, 50 
MsgBox, 4, Add or Delete, Choose a button: 
IfMsgBox, YES 
    MsgBox, You chose Add. 
else 
    MsgBox, You chose Delete. 
return 

ChangeButtonNames: 
IfWinNotExist, Add or Delete 
    return ; Keep waiting. 
SetTimer, ChangeButtonNames, off 
WinActivate 
ControlSetText, Button1, &Add 
ControlSetText, Button2, &Delete 
return 

我同意這是一個愚蠢的和無用的程序;我發現很難在網上找到有用的小例子。大多數編寫AHK腳本的人似乎都喜歡掛着鐘聲和口哨聲,直到他們終於成爲完整的應用程序,不再適合作爲小例子。

大量的代碼片段有用的,但是,可以在AHK的教程發現概述:

http://www.autohotkey.com/docs/Tutorial.htm

大部分,他們談的是掛某些功能關閉某些鍵的內容。這就是AHK開始的方式,但同時它也是一種(大部分)完整的Windows編程語言。所以不要太在意關鍵映射的東西。

這裏有一個可愛的小腳本運行記事本,然後發出一個消息框:

RunWait Notepad 
MsgBox The user has finished (Notepad has been closed). 

這裏有一個小對話框,獲得來自用戶的輸入信息:

MsgBox, 4, , Would you like to continue? 
IfMsgBox, No 
    return 
; Otherwise, the user picked yes. 
MsgBox You pressed YES. 
+0

你能提供一個簡單的演示嗎?我從來沒有聽說過這種語言。 – user198729 2010-01-02 14:10:20

+0

我現在這樣做了。 – 2010-01-02 14:25:43

3

vb.net或C# .net都使用.net框架。您可以創建一個Windows窗體項目,該窗體項目具有豐富的按鈕,窗體,標籤,網格用戶界面......使用Visual Studio開始使用Visual Studio也非常簡單Visual Studio可以爲您編寫部分代碼。

+0

他們可以免費下載:http://www.microsoft.com/express/ – Nifle 2010-01-02 14:13:13

相關問題