2011-01-26 83 views
0

我正在嘗試製作一個自動化應用程序,它基本上將一些密鑰發送到java應用程序中的文本框,並且如果可能的話,基於文本框中的文本。另外我想選擇一個組合框的某個選項。有人能指引我走向正確的道路嗎?一些代碼,例如,什麼...從C#發送密鑰到Java應用程序的文本框#

謝謝你, 丹尼斯

+0

你看過AutoHotKey嗎? – Crisfole 2011-01-26 16:39:49

回答

1

首先,java.awt.Robot中,您可以模擬鍵盤和鼠標事件。不幸的是,它在絕對屏幕座標中工作目前,java沒有允許訪問當前應用程序以外的窗口的API。

但是,如果您可以找到希望寫入「hello,world」的文本框的絕對位置,則可以使用Robot來完成。

如果你不能獲得絕對座標,你必須使用其他工具,如JNI或JNA。詳情請參閱以下職位:Windows: how to get a list of all visible windows?

好luck1

+0

嗨alexr, 感謝您的信息,但我在C#尋找代碼,我有一個C#應用程序,我想發送密鑰到Java應用程序。爲了更清楚,我有我從中要發送鍵時,某些文字是寫在Java應用程序文本框中輸入一個基於Java的應用程序一個C#應用程序(殭屍程序)... 感謝, 丹尼斯 – denisr 2011-01-27 14:20:03

1

你好,我認爲你在尋找這樣的事情 「winApiHelper」是我做的一個類,它幫我實現贏阿比的方法,取看這裏http://msdn.microsoft.com/en-us/library/ms633539(v=vs.85).aspx

private void SendKeys() 
//String sText , String sWindow 
//alternate you can have a parameters 
{ 
    string stab = "{TAB}"; 
    string skey = rtFilename.Text.Trim(); 
    int iHandle = winApiHelper.FindWindow(null, cboWindows.Text.Trim()); 
    winApiHelper.SetForegroundWindow(iHandle);       
    System.Windows.Forms.SendKeys.Send(skey.Trim() + stab.ToString().Trim()); 
} 
相關問題