[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
看了一下代码,感觉75行
75.WshShell.AppActivate "qq"
有问题,可能并不能激活qq 对话框,因此下了代码,试了一下,好像真的不能哦。测试环境:WIN10和最新版QQ,如果我没记错,好像应该 用进程ID才行样。(不知是不是我没用对)。

TOP

现在的新版QQ启动时至少会出现两个进程,不能用title去激活,而且用title激活原来也很不可靠,所以我以前都是用进程ID去激活程序的。现在也应用进程ID去激活,并且我试了下,QQ只能是进程ID大的那个才行。

TOP

本帖最后由 yiwuyun 于 2015-11-20 07:20 编辑
  1. if ($true){}# == ($true){}# goto ___yiwuyun
  2. <#BeginBatOperation#
  3. :___yiwuyun
  4. @echo off&setlocal&cls
  5. (echo $yiwuyun_fileName="%~f0"&echo $strPath="%~dp0"&type "%~f0")|powershell -command -
  6. exit/b 0
  7. #EndBatOperation#>
  8. <#StartPowerShell#>
  9. $QQPath=Get-ChildItem -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"|%{if($_.GetValue("DisplayName") -eq "腾讯QQ"){$_.GetValue("InstallLocation");}}
  10. $QQProgram=Join-Path -Path $QQPath -ChildPath bin\qq.exe;
  11. $wsh=New-Object -ComObject "wscript.shell";
  12. $wsh.Exec($QQProgram);
  13. ###此时有10秒中的时间可以作一些其他操作,将焦点转移到其他窗口中去。
  14. sleep 10;
  15. while(-not $wsh.AppActivate("qq")){;};
  16. $wsh.SendKeys("{ESC}");
  17. while(-not $wsh.AppActivate("qq")){;};
  18. $wsh.SendKeys("{ENTER}");
  19. $wsh.SendKeys("{ENTER}");
  20. ###猜测由于有QQ保护进程作怪,因此上述操作需要重复两次
  21. $wsh.SendKeys("12345678{ENTER}yiwuyun{ENTER}");
  22. ###无法解决QQ登陆一次之后记住帐号的情形。我想要彻底解决只有删掉QQ号码下的配置文件才行。这个没有试了。
  23. <#EndPowerShell#>
复制代码
<###
以上代码为批处理,扩展名为bat
vbs我不太熟了,但思路是一样,你可以照写。我前面说的用title会出问题不知是原来我写哪个小程序得出的结论,看来有错。但用进程ID同样能激活QQ。
###>

TOP

返回列表