[英]How to simulate pressing save/enter in SaveFileDialog
我正在創建一個應用程序來自動化一些流程。 其中之一是從 dotx 模板創建 docx 文件。
步驟非常簡單:應用程序打開帶有 test.dotx 文件的 MS Word 並將其另存為 c:\temp 作為 test.docx。 它應該盡可能接近用戶的操作。 當文件打開時(從 dotx 所以它已經是 docx),我只需要打開 SaveAs 對話框並按下“save”(或者只是“enter”,因為焦點設置在“save”按鈕上)。
問題是如何“點擊”保存/輸入。 我嘗試了 SendKeys,但我在 ShowDialog() 中,它正在等待結果,目前無法執行 SendKeys。 當然,如果我從鍵盤按回車鍵或單擊“保存”,一切正常,但我想從代碼中完成這一“按”。 你能指點我如何解決這個問題(如果可能的話)? 謝謝你。
這是我正在努力的代碼的一部分:
SaveFileDialog saveFileDialog1 = new SaveFileDialog
{
InitialDirectory = @"C:\Temp\",
DefaultExt = "docx",
FileName = "test"
};
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
object FileName = saveFileDialog1.FileName;
doc.SaveAs(ref FileName);
}
如果點擊保存/輸入是您的要求,建議使用Spy++ (此工具可由 Visual Studio 安裝程序安裝)來捕獲:“帶有保存按鈕的對話框”和“保存按鈕”別名/類; 然后,使用 C# PInvoke 編程(例如,使用FindWindow和FindWindowEx )發送/發布消息以模擬此“保存”按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.