是否可以在不进行下一步操作的情况下安装应用程序
本文关键字:操作 情况下 安装 应用程序 下一步 是否 | 更新日期: 2023-09-27 18:27:03
这个问题很容易解释,但。。我想创建一个程序,当我执行它时,它会下载一些文件,然后安装它们,例如chrome。但是我该如何通过下一个安装阶段呢?我使用的是C sharp或Java。我现在有一些代码可以下载没有的文件:S
我希望它最终做到的是:1) 下载-安装Chrome2) 输入gmail acc(proly java scrip?)3) 剩下的可能会类似。
private void Download()
{
WebClient webClient = new WebClient();
webClient.Headers.Add("user-agent", "Mozilla/5.0 (Windows; Windows NT 5.1; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4");
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
webClient.DownloadFileAsync(new Uri("http://dl.google.com/update2/installers/ChromeSetup.exe"), Environment.GetFolderPath(Environment.SpecialFolder.Desktop));
}
我不知道下载页面是否因为客户端标题或其他原因而阻止了我。。谢谢你!
使用pinvoke,您可以通过SendKey函数向设置窗口处理程序发送快捷方式。
以下是来自codeguru的示例代码。它使用PostMessage功能。
[DllImport("User32.Dll", EntryPoint = "PostMessageA")]
static extern bool PostMessage(
IntPtr hWnd,
uint msg,
int wParam,
int lParam
);
const uint WM_KEYDOWN = 0x100;
const int WM_a = 0x41;
const int WM_b = 0x42;
const int WM_c = 0x43;
static void Main(string[] args)
{
//using Process.GetProcessesByName to get the handle we want
Process[] p = Process.GetProcessesByName("notepad");
IntPtr pHandle = p[0].MainWindowHandle;
//will write "abc" in the open Notepad window
PostMessage(pHandle, WM_KEYDOWN, WM_a, 0);
PostMessage(pHandle, WM_KEYDOWN, WM_b, 0);
PostMessage(pHandle, WM_KEYDOWN, WM_c, 0);
}