9 posts in this topic
Hello all I am trying to use this function to detect if a specific window is running. Then for it to activate it and send an ALT+F command to close the window. But I cannot seem to get it to detect the window and subsequently the rest of the code does not work.
#include <MsgBoxConstants.au3> Handleit() Func Handleit() If WinExists("[CLASS:MsiDialogCloseClass]","InstallShield") Then WinActivate("[CLASS:MsiDialogCloseClass]","Installshield") Send("!f") Else MsgBox($MB_SYSTEMMODAL, "", "Uhhh... something didn't work. Fix it!") EndIf EndFunc Is there anything that I can substitute for the CLASS?
Thank you for taking the time to read my question!
I want to check if the cmd.exe + window of it is running, if it is running I want to put the window to the foreground, but somehow this does not work:
Local $sCommandlinePath = "C:\Windows\system32\cmd.exe" RunCm() Func RunCm() If FileExists($sCommandlinePath) Then If ProcessExists("cmd.exe") Then If WinExists("[CLASS:ConsoleWindowClass]") And WinActive("[CLASS:ConsoleWindowClass]") Then Local $hCmdWindow = WinGetHandle("[CLASS:ConsoleWindowClass]") WinSetOnTop($hCmdWindow, "", $WINDOWS_ONTOP) EndIf Else Local $iCmMax = Run($sCommandlinePath, "", @SW_SHOWMAXIMIZED) EndIf EndIf EndFunc I started the command line and put another window above it then I started my script and it did not put the command line window to the foreground.
I am looking for some help with my code. I want to be able to have this script always run, and append a file each time a program is opened adding a new line. Here is my code, and help would be greatly appreciated.
#include <MsgBoxConstants.au3> #include <FileConstants.au3> #include <File.au3> Local $aLines, $iCount = 0 local $hDate = @YEAR & '-' & @MON & '-' & @MDAY & ' ' & @HOUR & ':' & @MIN & ':' & @SEC local $hfile=FileOpen("C:\Users\public\Desktop\new1.txt", $FO_APPEND) Local $hComputername = @ComputerName ; Computer Name Local $hUsername = @UserName ; User Name While 1 If $hfile = -1 Then SplashTextOn("Error", "Unable to open and append the log file.", 300, 50) Sleep(2000) SplashOff() EndIf _FileReadToArray("C:\Users\public\Desktop\new1.txt", $aLines) If Not @error Then ; if the file exists look for the ID starting on the last line For $i = $aLines To 1 Step -1 If StringLeft($aLines[$i], 2) == "id" Then ; get the ID number $iCount = Int(StringRegExpReplace($aLines[$i], "id(\d*):.*", "$1")) ExitLoop EndIf Next ; Check we found an ID If $i = 0 Then MsgBox(0, "Error", "No line id found") Exit EndIf EndIf If WinExists("[Class:Notepad]", "") Then FileWrite($hfile, _LineID() & '|' & $hDate & '|' & $hComputername & '|' & "Notepad was opened by " & $hUsername & @CRLF) Sleep(10) FileClose($hfile) Sleep(1000) EndIf WEnd Func _LineID() $iCount += 1 Return "id" & StringFormat("%04i", $iCount) & ": " EndFunc ;==> LineID Thanks!
I have a wierd question, that I have not been able to solve. If anyone has used Team Viewer before you know that when you are done accessing a PC (using the Personal Free Version) that the TeamViewer window pop up. So I have created a small little script that runs and closes the window if it exists.
If winexists('TeamViewer', '') Then winclose('Teamviewer', '') Endif
However I just ran into a snag where if I open a browser and try to login to my Team Viewer account it closes the browser, because I have told the script to close any and all windows that have TeamViewer at the title to close. Is there a way to have the script know the difference between a browser tab and the app? That way I can access my TeamViewer account using a browser but still have the TeamViewer App windows close.
Thanks in advance.
I have been trying to write a script to silently install CRM Outlook client for about the past 6 days. No matter what I have tried this doesn't seem to be doing anything.
Code is below. Any help is appreciated.
Opt("TrayIconDebug",1) ShellExecute("R:\IT\SoftLib\CRM2011\CRM2011-Client-ENU-i386\SetupClient.exe") winwait("Microsoft Dynamics CRM 2011 for Outlook Setup") WinActivate("Microsoft Dynamics CRM 2011 for Outlook Setup") WinExists("Microsoft Dynamics CRM 2011 for Outlook Setup","I &accept the license agreement") ControlClick("Microsoft Dynamics CRM 2011 for Outlook Setup","I &accept the license agreement",1007) WinExists("Microsoft Dynamics CRM 2011 for Outlook Setup","&Next") ControlClick("Microsoft Dynamics CRM 2011 for Outlook Setup","&Next",1008) WinExists("Microsoft Dynamics CRM 2011 for Outlook Setup","Install Now") ControlClick("Microsoft Dynamics CRM 2011 for Outlook Setup","&Install Now",1019) WinExists("Microsoft Dynamics CRM 2011 for Outlook Setup","The installation completed successfully.") ControlClick("Microsoft Dynamics CRM 2011 for Outlook Setup","&Close",1038)