punisa Posted January 13, 2009 Share Posted January 13, 2009 Hello, Is there any way (function) to check if the actual monitor is working? I have the PC connected to a plasma screen, I would like to check if this plasma screen is turned on or off. I use _ScreenCapture_Capture function to take a periodical screenshot and send back to me, but this solves only the "PC" part to check if it works ok. Maybe it's a long shot... Additional info - I connect my PC to plasma screen via simple VGA cable. carpe diem Link to comment Share on other sites More sharing options...
youknowwho4eva Posted January 13, 2009 Share Posted January 13, 2009 Does sound like a long shot, unless there is a way to ping the monitor. I would also be interested in this answer. Giggity Link to comment Share on other sites More sharing options...
Pain Posted January 13, 2009 Share Posted January 13, 2009 (edited) Define "working". Working as in not broken or working as in turned on?I don't know if this is what you are looking for but you can try with WMI and Win32_DesktopMonitor.http://msdn.microsoft.com/en-us/library/aa394122(VS.85).aspx Edited January 13, 2009 by Pain Link to comment Share on other sites More sharing options...
punisa Posted January 13, 2009 Author Share Posted January 13, 2009 Define "working". Working as in not broken or working as in turned on?I don't know if this is what you are looking for but you can try with WMI and Win32_DesktopMonitor.http://msdn.microsoft.com/en-us/library/aa394122(VS.85).aspxOk, working - as in turned on, powered on and displaying Thank you for the WMI resource, but I'll just go on and be frank in admiting that I have no clue what these classes are and how they could be used There seems to be a huge range of commands that look interesting, but I'm not sure how to include them in my script.Any more clues? carpe diem Link to comment Share on other sites More sharing options...
azure Posted January 13, 2009 Share Posted January 13, 2009 There seems to be a huge range of commands that look interesting, but I'm not sure how to include them in my script. #include <CompInfo.au3> #include <array.au3> Dim $aMonitors _ComputerGetMonitors($aMonitors) _ArrayDisplay($aMonitors) Use this include: http://www.autoitscript.com/forum/index.ph...st&id=12096 Link to comment Share on other sites More sharing options...
punisa Posted January 13, 2009 Author Share Posted January 13, 2009 #include <CompInfo.au3> #include <array.au3> Dim $aMonitors _ComputerGetMonitors($aMonitors) _ArrayDisplay($aMonitors) Use this include: http://www.autoitscript.com/forum/index.ph...st&id=12096 Thanks! I sucesfully included the CompInfo.au3 and displayed the array of information. It provides this info: [0]Name = Default Monitor [1]Availability = 3 [2]Bandwidth = empty [3]ConfigManagerErrorCode = 0 [4]Description = Default Monitor [5]ConfigManagerUserConfig = 0 [6]CreationClassName = Win32_DesktopMonitor [7]DeviceID = DesktopMonitor1 [8]DisplayType = empty [9]ErrorCleared = empty [10]ErrorDescription = empty [11]IsLocked = empty [12]LastErrorCode = empty [13]MonitorManufacturer = (Standard monitor types) [14]MonitorType = Default Monitor [15]PixelsPerXLogicalInch = 96 [16]PixelsPerYLogicalInch = 96 [17]PNPDeviceID = DISPLAY\DEFAULT_MONITOR\4&117538D7&0&80862500&00&02 [18]PowerManagementCapabilities = 0 [19]PowerManagementSupported = empty [20]ScreenHeight = 600 [21]ScreenWidth = 800 [22]Status = OK [23]StatusInfo = empty [24]SystemCreationClassName = Win32_ComputerSystem [25]SystemName = USER-182D91 Now, that column 22 looks interesting "Status = OK", but it gives either way, if screen is turned off or on. I tested with screen on and off by using a delay (sleep(5000)), so I have time to turn off the screen : ) But results are exactly the same. Then I tried unplugging the VGA cable from computer and then running this check (wow, blind scripting), but the results are same again. I figured the data is not the actual status, but the stored information I don't know if this could tell if the screen is actually turned ON or OFF, or if its perhaps broken. Any other ideas? I'm pretty sure others could really benefit from this if we figure it out carpe diem Link to comment Share on other sites More sharing options...
furrycow Posted January 13, 2009 Share Posted January 13, 2009 Thanks! I sucesfully included the CompInfo.au3 and displayed the array of information. It provides this info: [0]Name = Default Monitor [1]Availability = 3 [2]Bandwidth = empty [3]ConfigManagerErrorCode = 0 [4]Description = Default Monitor [5]ConfigManagerUserConfig = 0 [6]CreationClassName = Win32_DesktopMonitor [7]DeviceID = DesktopMonitor1 [8]DisplayType = empty [9]ErrorCleared = empty [10]ErrorDescription = empty [11]IsLocked = empty [12]LastErrorCode = empty [13]MonitorManufacturer = (Standard monitor types) [14]MonitorType = Default Monitor [15]PixelsPerXLogicalInch = 96 [16]PixelsPerYLogicalInch = 96 [17]PNPDeviceID = DISPLAY\DEFAULT_MONITOR\4&117538D7&0&80862500&00&02 [18]PowerManagementCapabilities = 0 [19]PowerManagementSupported = empty [20]ScreenHeight = 600 [21]ScreenWidth = 800 [22]Status = OK [23]StatusInfo = empty [24]SystemCreationClassName = Win32_ComputerSystem [25]SystemName = USER-182D91 Now, that column 22 looks interesting "Status = OK", but it gives either way, if screen is turned off or on. I tested with screen on and off by using a delay (sleep(5000)), so I have time to turn off the screen : ) But results are exactly the same. Then I tried unplugging the VGA cable from computer and then running this check (wow, blind scripting), but the results are same again. I figured the data is not the actual status, but the stored information I don't know if this could tell if the screen is actually turned ON or OFF, or if its perhaps broken. Any other ideas? I'm pretty sure others could really benefit from this if we figure it out [1] Availability ? Instant Lockerz Invite - www.instantlockerzinvite.co.uk Link to comment Share on other sites More sharing options...
cramaboule Posted January 13, 2009 Share Posted January 13, 2009 Hello, Is there any way (function) to check if the actual monitor is working? I have the PC connected to a plasma screen, I would like to check if this plasma screen is turned on or off. I use _ScreenCapture_Capture function to take a periodical screenshot and send back to me, but this solves only the "PC" part to check if it works ok. Maybe it's a long shot... Additional info - I connect my PC to plasma screen via simple VGA cable. you have as well: $aDevice=_WinAPI_EnumDisplayDevices() the $aDevice[3] will return something (on my monitor: 35) if not connecting return nothing ! My Autoit programs: MAC Address - - Delete Temp Files - - Ping Test - - Play Video with VLC full screen dual monitors - - Set IP - - Pics Converter - - AutoUpdater - - CPU Usage - - Ending Script Nicely - - GDI+ GUI crossfades (slide transitions) - - Beamer - - Search and Search in Files - - Silent Ninite Others: Export Icons into Dll - - My website Link to comment Share on other sites More sharing options...
azure Posted January 13, 2009 Share Posted January 13, 2009 Here's a neat way to shut your monitor off Opt("WinTitleMatchMode", 4) Monitor("off") Func Monitor($io_control = "on") Local $WM_SYSCommand = 274 Local $SC_MonitorPower = 61808 Local $HWND = WinGetHandle("classname=Progman") Switch StringUpper($io_control) Case "OFF" DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND, "int", $WM_SYSCommand, "int", $SC_MonitorPower, "int", 2) Case "ON" DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND, "int", $WM_SYSCommand, "int", $SC_MonitorPower, "int", -1) Case Else MsgBox(32, @ScriptName, "Command usage: on/off") EndSwitch EndFunc I don't think you're going to find a way to see if the monitor's on or off though. Good luck. Link to comment Share on other sites More sharing options...
furrycow Posted January 13, 2009 Share Posted January 13, 2009 (edited) Actually, just ive just run the program to check out what my array contains, and i have a few monitors installed on this machine, but theyre not connected, as in not plugged in, i dont have them with me either, but all their [1]Availability = 8, whereas my default one that i am using is [1]Availability = 3 EDIT: Just read the actual link given by Pain at the beginning, and the answers in there!! Seeing as CompInfo.au3 uses the Win32_DesktopMonitor Class The Win32_DesktopMonitor class defines the following properties. Availability Data type: uint16 Access type: Read-only Availability and status of the device. Inherited from CIM_LogicalDevice. Value Meaning 1 0x1 Other 2 0x2 Unknown 3 0x3 Running or Full Power 4 0x4 Warning 5 0x5 In Test 6 0x6 Not Applicable 7 0x7 Power Off 8 0x8 Off Line 9 0x9 Off Duty 10 0xA Degraded 11 0xB Not Installed 12 0xC Install Error 13 0xD Power Save - Unknown The device is known to be in a power save mode, but its exact status is unknown. 14 0xE Power Save - Low Power Mode The device is in a power save state but still functioning, and may exhibit degraded performance. 15 0xF Power Save - Standby The device is not functioning, but could be brought to full power quickly. 16 0x10 Power Cycle 17 0x11 Power Save - Warning The device is in a warning state, though also in a power save mode. Edited January 13, 2009 by furrycow Instant Lockerz Invite - www.instantlockerzinvite.co.uk Link to comment Share on other sites More sharing options...
punisa Posted January 13, 2009 Author Share Posted January 13, 2009 Actually, just ive just run the program to check out what my array contains, and i have a few monitors installed on this machine, but theyre not connected, as in not plugged in, i dont have them with me either, but all their [1]Availability = 8, whereas my default one that i am using is [1]Availability = 3 EDIT: Just read the actual link given by Pain at the beginning, and the answers in there!! Seeing as CompInfo.au3 uses the Win32_DesktopMonitor Class The Win32_DesktopMonitor class defines the following properties. Availability Data type: uint16 Access type: Read-only Availability and status of the device. Inherited from CIM_LogicalDevice. Value Meaning 1 0x1 Other 2 0x2 Unknown 3 0x3 Running or Full Power 4 0x4 Warning 5 0x5 In Test 6 0x6 Not Applicable 7 0x7 Power Off 8 0x8 Off Line 9 0x9 Off Duty 10 0xA Degraded 11 0xB Not Installed 12 0xC Install Error 13 0xD Power Save - Unknown The device is known to be in a power save mode, but its exact status is unknown. 14 0xE Power Save - Low Power Mode The device is in a power save state but still functioning, and may exhibit degraded performance. 15 0xF Power Save - Standby The device is not functioning, but could be brought to full power quickly. 16 0x10 Power Cycle 17 0x11 Power Save - Warning The device is in a warning state, though also in a power save mode. Hey furrycow, thanks for taking interest. I'm sorry, but I admit that I don't actually understand what all this means. You'll have to excuse my noobishnes If it wouldn't be too much of a problem to point out some steps I should put in my script in order to make this work. I'm not asking to make the wholle script for me, I love to get my hands dirty, but I'm really puzzled right now carpe diem Link to comment Share on other sites More sharing options...
punisa Posted January 13, 2009 Author Share Posted January 13, 2009 Here's a neat way to shut your monitor off Opt("WinTitleMatchMode", 4) Monitor("off") Func Monitor($io_control = "on") Local $WM_SYSCommand = 274 Local $SC_MonitorPower = 61808 Local $HWND = WinGetHandle("classname=Progman") Switch StringUpper($io_control) Case "OFF" DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND, "int", $WM_SYSCommand, "int", $SC_MonitorPower, "int", 2) Case "ON" DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND, "int", $WM_SYSCommand, "int", $SC_MonitorPower, "int", -1) Case Else MsgBox(32, @ScriptName, "Command usage: on/off") EndSwitch EndFunc I don't think you're going to find a way to see if the monitor's on or off though. Good luck. That's a cool script there, been using it on one of my other projects. Unfortrunatly doesn't work on a plasma TV screen, it does go blank, but just for 1 second with or without the mouse movment. carpe diem Link to comment Share on other sites More sharing options...
Prab Posted January 13, 2009 Share Posted January 13, 2009 I think this is a slightly improved version of that script. I didn't write it; I found it on this forum a few months ago. It might work for you. expandcollapse popup#NoTrayIcon Global Const $lciWM_SYSCommand = 274 Global Const $lciSC_MonitorPower = 61808 Global Const $lciPower_Off = 2 Global Const $lciPower_On = -1 Global $MonitorIsOff = False HotKeySet("{F11}", "_Monitor_OFF") HotKeySet("{F10}", "_Monitor_ON") HotKeySet("{Esc}", "_Quit") While 1 Sleep(100) WEnd Func _Monitor_ON() $MonitorIsOff = False Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]') DllCall('user32.dll', 'int', 'SendMessage', _ 'hwnd', $Progman_hwnd, _ 'int', $lciWM_SYSCommand, _ 'int', $lciSC_MonitorPower, _ 'int', $lciPower_On) EndFunc Func _Monitor_OFF() $MonitorIsOff = True Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]') While $MonitorIsOff = True DllCall('user32.dll', 'int', 'SendMessage', _ 'hwnd', $Progman_hwnd, _ 'int', $lciWM_SYSCommand, _ 'int', $lciSC_MonitorPower, _ 'int', $lciPower_Off) _IdleWaitCommit(0) Sleep(20) WEnd EndFunc Func _IdleWaitCommit($idlesec) Local $iSave, $LastInputInfo = DllStructCreate ("uint;dword") DllStructSetData ($LastInputInfo, 1, DllStructGetSize ($LastInputInfo)) DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo)) Do $iSave = DllStructGetData ($LastInputInfo, 2) Sleep(60) DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo)) Until (DllStructGetData ($LastInputInfo, 2)-$iSave) > $idlesec Or $MonitorIsOff = False Return DllStructGetData ($LastInputInfo, 2)-$iSave EndFunc Func _Quit() _Monitor_ON() Exit EndFunc FolderLog GuiSpeech Assist Link to comment Share on other sites More sharing options...
punisa Posted January 13, 2009 Author Share Posted January 13, 2009 I think this is a slightly improved version of that script. I didn't write it; I found it on this forum a few months ago. It might work for you. expandcollapse popup#NoTrayIcon Global Const $lciWM_SYSCommand = 274 Global Const $lciSC_MonitorPower = 61808 Global Const $lciPower_Off = 2 Global Const $lciPower_On = -1 Global $MonitorIsOff = False HotKeySet("{F11}", "_Monitor_OFF") HotKeySet("{F10}", "_Monitor_ON") HotKeySet("{Esc}", "_Quit") While 1 Sleep(100) WEnd Func _Monitor_ON() $MonitorIsOff = False Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]') DllCall('user32.dll', 'int', 'SendMessage', _ 'hwnd', $Progman_hwnd, _ 'int', $lciWM_SYSCommand, _ 'int', $lciSC_MonitorPower, _ 'int', $lciPower_On) EndFunc Func _Monitor_OFF() $MonitorIsOff = True Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]') While $MonitorIsOff = True DllCall('user32.dll', 'int', 'SendMessage', _ 'hwnd', $Progman_hwnd, _ 'int', $lciWM_SYSCommand, _ 'int', $lciSC_MonitorPower, _ 'int', $lciPower_Off) _IdleWaitCommit(0) Sleep(20) WEnd EndFunc Func _IdleWaitCommit($idlesec) Local $iSave, $LastInputInfo = DllStructCreate ("uint;dword") DllStructSetData ($LastInputInfo, 1, DllStructGetSize ($LastInputInfo)) DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo)) Do $iSave = DllStructGetData ($LastInputInfo, 2) Sleep(60) DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo)) Until (DllStructGetData ($LastInputInfo, 2)-$iSave) > $idlesec Or $MonitorIsOff = False Return DllStructGetData ($LastInputInfo, 2)-$iSave EndFunc Func _Quit() _Monitor_ON() Exit EndFunc Yep, this one works. carpe diem Link to comment Share on other sites More sharing options...
BrettF Posted January 14, 2009 Share Posted January 14, 2009 How is this? expandcollapse popup#include <Array.au3> $sMsg = "" $aNames = _MoniterEnumNames () For $x = 1 To $aNames[0] $nState = _MoniterGetState ($aNames[$x]) Select Case $nState = 17 $sMsg &= @TAB & "- Power Save - Warning (The device is in a warning state, though also in a power save mode.)" & @CR Case $nState = 16 $sMsg &= @TAB & "- Power Cycle" & @CR Case $nState = 15 $sMsg &= @TAB & "- Power Save - Standby (The device is not functioning, but could be brought to full power quickly.)" & @CR Case $nState = 14 $sMsg &= @TAB & "- Power Save - Low Power Mode (The device is in a power save state but still functioning, and may exhibit degraded performance.)" & @CR Case $nState = 13 $sMsg &= @TAB & "- Power Save - Unknown (The device is known to be in a power save mode, but its exact status is unknown)" & @CR Case $nState = 12 $sMsg &= @TAB & "- Install Error" & @CR Case $nState = 11 $sMsg &= @TAB & "- Not Installed" & @CR Case $nState = 10 $sMsg &= @TAB & "- Degraded" & @CR Case $nState = 9 $sMsg &= @TAB & "- Off Duty" & @CR Case $nState = 8 $sMsg &= @TAB & "- Off Line" & @CR Case $nState = 7 $sMsg &= @TAB & "- Power Off" & @CR Case $nState = 6 $sMsg &= @TAB & "- Not Applicable" & @CR Case $nState = 5 $sMsg &= @TAB & "- In Test" & @CR Case $nState = 4 $sMsg &= @TAB & "- Warning" & @CR Case $nState = 3 $sMsg &= @TAB & "- Running or Full Power" & @CR Case $nState = 2 $sMsg &= @TAB & "- Unknown" & @CR Case $nState = 1 $sMsg &= @TAB & "- Other" & @CR EndSelect MsgBox (0, "Display Results", "Moniter Name = " & $aNames[$x] & @CR & _ "Moniter State = " & $nState & @CR & _ "Moniter State Meaning: " & @CR & $sMsg) Next Func _MoniterGetState($name) Local $cI_CompName = @ComputerName Local $wbemFlagReturnImmediately = 0x10;DO NOT CHANGE Local $wbemFlagForwardOnly = 0x20;DO NOT CHANGE $objWMIService = ObjGet("winmgmts:\\" & $cI_CompName & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DesktopMonitor", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems ConsoleWrite ($objItem.Name & @CRLF) If $name = $objItem.Name Then Return $objItem.Availability EndIf Next EndIf Return -1 EndFunc ;==>_MoniterGetState Func _MoniterEnumNames () Local $cI_CompName = @ComputerName Local $wbemFlagReturnImmediately = 0x10;DO NOT CHANGE Local $wbemFlagForwardOnly = 0x20;DO NOT CHANGE Local $i = 1 Local $rArray[1] $objWMIService = ObjGet("winmgmts:\\" & $cI_CompName & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DesktopMonitor", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems ReDim $rArray[$i + 1] $rArray[$i] = $objItem.Name $i += 1 Next EndIf $rArray[0] = UBound ($rArray) - 1 Return $rArray EndFunc I'm sure you can mod it to your needs. I adapted it from JS' CompInfo.au3. Cheers, Brett Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
punisa Posted January 14, 2009 Author Share Posted January 14, 2009 How is this? expandcollapse popup#include <Array.au3> $sMsg = "" $aNames = _MoniterEnumNames () For $x = 1 To $aNames[0] $nState = _MoniterGetState ($aNames[$x]) Select Case $nState = 17 $sMsg &= @TAB & "- Power Save - Warning (The device is in a warning state, though also in a power save mode.)" & @CR Case $nState = 16 $sMsg &= @TAB & "- Power Cycle" & @CR Case $nState = 15 $sMsg &= @TAB & "- Power Save - Standby (The device is not functioning, but could be brought to full power quickly.)" & @CR Case $nState = 14 $sMsg &= @TAB & "- Power Save - Low Power Mode (The device is in a power save state but still functioning, and may exhibit degraded performance.)" & @CR Case $nState = 13 $sMsg &= @TAB & "- Power Save - Unknown (The device is known to be in a power save mode, but its exact status is unknown)" & @CR Case $nState = 12 $sMsg &= @TAB & "- Install Error" & @CR Case $nState = 11 $sMsg &= @TAB & "- Not Installed" & @CR Case $nState = 10 $sMsg &= @TAB & "- Degraded" & @CR Case $nState = 9 $sMsg &= @TAB & "- Off Duty" & @CR Case $nState = 8 $sMsg &= @TAB & "- Off Line" & @CR Case $nState = 7 $sMsg &= @TAB & "- Power Off" & @CR Case $nState = 6 $sMsg &= @TAB & "- Not Applicable" & @CR Case $nState = 5 $sMsg &= @TAB & "- In Test" & @CR Case $nState = 4 $sMsg &= @TAB & "- Warning" & @CR Case $nState = 3 $sMsg &= @TAB & "- Running or Full Power" & @CR Case $nState = 2 $sMsg &= @TAB & "- Unknown" & @CR Case $nState = 1 $sMsg &= @TAB & "- Other" & @CR EndSelect MsgBox (0, "Display Results", "Moniter Name = " & $aNames[$x] & @CR & _ "Moniter State = " & $nState & @CR & _ "Moniter State Meaning: " & @CR & $sMsg) Next Func _MoniterGetState($name) Local $cI_CompName = @ComputerName Local $wbemFlagReturnImmediately = 0x10;DO NOT CHANGE Local $wbemFlagForwardOnly = 0x20;DO NOT CHANGE $objWMIService = ObjGet("winmgmts:\\" & $cI_CompName & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DesktopMonitor", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems ConsoleWrite ($objItem.Name & @CRLF) If $name = $objItem.Name Then Return $objItem.Availability EndIf Next EndIf Return -1 EndFunc ;==>_MoniterGetState Func _MoniterEnumNames () Local $cI_CompName = @ComputerName Local $wbemFlagReturnImmediately = 0x10;DO NOT CHANGE Local $wbemFlagForwardOnly = 0x20;DO NOT CHANGE Local $i = 1 Local $rArray[1] $objWMIService = ObjGet("winmgmts:\\" & $cI_CompName & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DesktopMonitor", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems ReDim $rArray[$i + 1] $rArray[$i] = $objItem.Name $i += 1 Next EndIf $rArray[0] = UBound ($rArray) - 1 Return $rArray EndFunc I'm sure you can mod it to your needs. I adapted it from JS' CompInfo.au3. Cheers, Brett Thanks Brett, I've tried to use this script, but every time it says that monitor is running, even when I physical disconnect it from the PC. Any clues why it does that? I'm currently checking this on my regular monitor and windows Vista, I'll try to use it with plasma screen and windows XP when I get to the office. carpe diem Link to comment Share on other sites More sharing options...
punisa Posted January 15, 2009 Author Share Posted January 15, 2009 Yep, tried it on a couple of monitors. It makes no difference if the monitor is connected or not? Does anyone have a clue as to what could be done about it? Or should I just discard the idea as impossible? Many thanks, don't leave me now : )) carpe diem Link to comment Share on other sites More sharing options...
furrycow Posted January 15, 2009 Share Posted January 15, 2009 Yep, tried it on a couple of monitors. It makes no difference if the monitor is connected or not? Does anyone have a clue as to what could be done about it? Or should I just discard the idea as impossible? Many thanks, don't leave me now : ))It could be gathering the monitor status on startup? Have you tried restarting your comp with a monitor disconnected? if you build the .au3 to a .exe, put it in startup, so that it automatically runs when the comp starts windows, then when you hear that the array has been displayed, plug your monitor back in and see what it says? I've no idea if that will make difference or not, but worth a go, if youve nothing else to lead with :S. Instant Lockerz Invite - www.instantlockerzinvite.co.uk Link to comment Share on other sites More sharing options...
cramaboule Posted January 15, 2009 Share Posted January 15, 2009 what about : _WinAPI_EnumDisplayDevices() Cram... My Autoit programs: MAC Address - - Delete Temp Files - - Ping Test - - Play Video with VLC full screen dual monitors - - Set IP - - Pics Converter - - AutoUpdater - - CPU Usage - - Ending Script Nicely - - GDI+ GUI crossfades (slide transitions) - - Beamer - - Search and Search in Files - - Silent Ninite Others: Export Icons into Dll - - My website Link to comment Share on other sites More sharing options...
punisa Posted January 15, 2009 Author Share Posted January 15, 2009 It could be gathering the monitor status on startup? Have you tried restarting your comp with a monitor disconnected? if you build the .au3 to a .exe, put it in startup, so that it automatically runs when the comp starts windows, then when you hear that the array has been displayed, plug your monitor back in and see what it says? I've no idea if that will make difference or not, but worth a go, if youve nothing else to lead with :S.Probabbly the data is collected at start up, not in real time. I'll perform additional checks. This could work as a partial solution, although the ideal would be a small loop that would alert as soon as monitor looses contact. carpe diem Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now