此文章以用于系统架设的备用知识点!!
AutoIT相关的代码:以下代码使用C#管理员加载运行
$handle = Run("C:\Computerz\ComputerZ_CN.exe","C:\Computerz\") WinSetTrans($handle,"",150) ClipPut("") WinWaitActive ("鲁大师") AutoItSetOption("WinTitleMatchMode", 4) Opt("MouseCoordMode", 2) MouseClick("left",122,62,1,0) MouseMove(807,192) Local $test While $test == "" Sleep(1000) MouseClick("left",807,192,1,0) $test = ClipGet() Wend ;MsgBox(0, "剪贴板内容:", $test) WinKill("鲁大师") ClipPut($test)
Html上传代码相关,
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>target-div</title> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <!-- 1. Define some markup --> <Script Language="JavaScript"> var content = clipboardData.getData("Text"); if (content!=null) { document.write("<br><span>"); document.write(content); document.write("</span>");} else { document.write(‘<center>剪贴板中没有文本。<br><br>‘); } </Script> </body> </html>
以下为附加的知识,httml剪粘板的写入clipboard,(其它使用Flash,可能部分兼容性差,推荐使用这个)
https://files.cnblogs.com/files/praybb/clipboard.js-master.zip
C#管理员运行
有一条case需要测试non-admin用户下运行软件产生的event信息。 由于Automation的大job是在admin用户下运行的,因此需要切换到non-admin用户,而这无论是在WTT中还是.NET中切换用户都是比较困难的。
因此需要采用run as的策略,也就是在当前的admin用户下,通过code来使得所测软件在non-admin用户下运行。
下面这段代码实现了在指定的用户下运行某程序。可以从config文件中读取指定的用户。
注意:指定用户的密码不能为空,否则会有异常抛出。
public static bool LauchMontanaBrt(string inUserName,string inPassWord) { try { Process MBRTProcess = new Process(); MBRTProcess.StartInfo.UserName = inUserName; string strPWD = inPassWord; SecureString password = new SecureString(); foreach (char c in strPWD.ToCharArray()) { password.AppendChar(c); } MBRTProcess.StartInfo.Password = password; MBRTProcess.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory; MBRTProcess.StartInfo.FileName = "xxx.exe"; MBRTProcess.StartInfo.Arguments = "/run /wu"; MBRTProcess.StartInfo.UseShellExecute = false; MBRTProcess.Start(); return true; } catch(Exception error) { Console.writeline(error.Message); return false; } }