设置“Windows对话框输入”
本文关键字:输入 对话框 Windows 设置 | 更新日期: 2023-09-27 17:53:25
我想写一个c#代码,自动处理文件上传。下面我需要实现的是从打开的文件对话框中选择一个文件:
- 需要控制的对话框
我设法找到使用users32.dll
FindWindow()
方法的窗口。但我不知道如何设置输入,如果对话框和批准所选文件(选择一个文件&按OK)。
My Code so far:
[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName, string lpWindowName);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_CLOSE = 0xF060;
public const int WM_SETTEXT = 0x000C;
private void ChooseFile()
{
// retrieve the handler of the window
int iHandle = FindWindow("#32770", "File Upload");
if (iHandle > 0)
{
//Choose File
//Press OK
}
}
你有c#类OpenFileDialog (http://www.dotnetperls.com/openfiledialog), user32.dll不需要。
你想做的事情有点奇怪。你正在调用Win32函数,但所有你需要的是使用OpenFileDialog类,这是正确的。net方式在这里(MSDN OpenFileDialog)
OpenFileDialog dlg = new OpenFileDialog();
DialogResult res = dlg.ShowDialog();
if (res == DialogResult.OK)
{
string filePath = dlg.FileName;
// do your upload logic here
}
经过一番研究,我找到了解决办法。
我使用了windows . form . sendkeys类,它模拟键盘并将字符串发送到焦点窗口。
下面是代码: SendKeys.SendWait(fileInfo.FullName);
Thread.Sleep(2000);
SendKeys.SendWait("{ENTER}");
Thread.Sleep(5000);