Jump to content
Sign in to follow this  
punisa

is my monitor working?

Recommended Posts

punisa

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

Share this post


Link to post
Share on other sites
youknowwho4eva

Does sound like a long shot, unless there is a way to ping the monitor. I would also be interested in this answer.


Giggity

Share this post


Link to post
Share on other sites
punisa

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

Ok, 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 :lmao:

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? :think:


carpe diem

Share this post


Link to post
Share on other sites
punisa

#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 :lmao:


carpe diem

Share this post


Link to post
Share on other sites
furrycow

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 :lmao:

[1] Availability ?

Instant Lockerz Invite - www.instantlockerzinvite.co.uk

Share this post


Link to post
Share on other sites
cramaboule

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 !

Share this post


Link to post
Share on other sites
azure

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.

Share this post


Link to post
Share on other sites
furrycow

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 by furrycow

Instant Lockerz Invite - www.instantlockerzinvite.co.uk

Share this post


Link to post
Share on other sites
punisa

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 :lmao:

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

Share this post


Link to post
Share on other sites
punisa

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

Share this post


Link to post
Share on other sites
Prab

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.

#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

Share this post


Link to post
Share on other sites
punisa

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.

#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

Share this post


Link to post
Share on other sites
BrettF

How is this?

#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

Share this post


Link to post
Share on other sites
punisa

How is this?

#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

Share this post


Link to post
Share on other sites
punisa

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

Share this post


Link to post
Share on other sites
furrycow

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

Share this post


Link to post
Share on other sites
cramaboule

Share this post


Link to post
Share on other sites
punisa

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×