[python-win32] Is it possible to (un)check items in "Local Area Connection Properties" ?

Kevin Horn kevin.horn at gmail.com
Thu Oct 29 23:55:10 CET 2009


On Thu, Oct 29, 2009 at 5:50 PM, Stef Mientki <stef.mientki at gmail.com>wrote:

> thanks Kevin,
>
> Kevin Horn wrote:
>
>> On Wed, Oct 28, 2009 at 4:22 PM, Stef Mientki <stef.mientki at gmail.com<mailto:
>> stef.mientki at gmail.com>> wrote:
>>
>>    hello,
>>
>>    For connecting though CheckPoint VPN,
>>    I need to check the item "Check Point SecuRemote" in the Local
>>    Area Connections Properties.
>>
>>    I couldn't find a way to read and or toggle this switch (through
>>    some registry setting),
>>    so I made an AutoIt program to accomplish the task.
>>
>>    The main disadvantage is that if the number of items above "Check
>>    Point SecuRemote" changes,
>>    the Auto-It script will (un)check the wrong item.
>>
>>    thanks,
>>    Stef Mientki
>>
>>
>> There are some python tools that do desktop automation in a fashion
>> similar to what AutoIt does, but this kind of task is one of the few I
>> actually don't usually use Python for.  I usually use AutoIt.
>>
>> PyWinAuto (http://pywinauto.openqa.org/) is probably the best-known of
>> the windows solutions out there.  I thought there was another main one, but
>> I can't find it at the moment.
>>
>> Before you go haring off looking for a new tool, have you tried getting
>> the control ID using the AutoIt Winspy-thingy?  I've been able to use that
>> to send messages directly to individual controls, rather than the window,
>> which has helped me in similar situations.
>>
>> Hope this helps, and let us know how it works out!
>>
> I updated my autoit script ( whole lot of trial and error :-( ,
> but it works now, the spy tip was a good one !!
> If someone is interested, the code is below.
>
> cheers,
> Stef
>
> ;**********************************************************************************
>
> ;Systeem Settings
> ;**********************************************************************************
>
> ;Er moet voor gezorgd worden dat LAN en VPN gesynchroniseerd zijn
> ;Het disablen van VPN by startup gaat als volgt:
> ;  Control Panel
> ;     Administrative Tools
> ;         Computer Management
> ;             Services and Applications
> ;                 Services
> ;                      CheckPoint SecuRemote Watchdog = manual
>
> ;**********************************************************************************
>
> ;Define directories and window titles in some local vars
> ;**********************************************************************************
>
> local $Net_Conn = "Network Connections"
> local $LAN_Status = "Local Area Connection Status"
> local $LAN_Props = "Local Area Connection Properties"
>
>
> ;**********************************************************************************
>
> ;correct the default AutoIt settings
> ;**********************************************************************************
>
> ;AutoItSetOption("TrayIconHide",0)    ;0 = hide (after 1 second)
> AutoItSetOption("MouseCoordMode", 0)       ;1 = absolute screen coordinates
> (default)
> ;BlockInput(1)
>
>
> ;**********************************************************************************
>
> ;launch Network Connections, then launch LAN_status and close Network
> Connections
> ;**********************************************************************************
>
> Run("control ncpa.cpl")
>
> WinWait( $Net_Conn)
> If Not WinActive( $Net_Conn) Then
> WinActivate( $Net_Conn)
> EndIf
>
> ControlFocus( $Net_Conn, "", "SysListView321")
> ControlSend( $Net_Conn, "", "SysListView321","local")
> Send("{ENTER}")
> WinClose( $Net_Conn)
>
> ;**********************************************************************************
>
> ;wait till LAN_status window active, then click on Properties
> ;**********************************************************************************
>
> WinWait($LAN_Status)
> If Not WinActive($LAN_Status) Then
> WinActivate($LAN_Status)
> EndIf
>
> ControlFocus($LAN_Status, "", "&Properties")
> ControlClick($LAN_Status, "", "&Properties")
> WinClose( $LAN_Status)
>
> $WinText = ''
> $Name = 'Check Point SecuRemote'
>
> $NameIndex = ControlListView ( $LAN_Props, $WinText, 'SysListView321',
> "FindItem", $Name)
> WinActivate($LAN_Props)
> WinWaitActive($LAN_Props)
>
> ; THIS DOESN'T WORK !!!
> ;ControlListView ( $WinTitle, $WinText, 'SysListView321', "SelectClear")
> ;sleep(200)
> ;ControlListView ( $WinTitle, $WinText, 'SysListView321', "Select",
> $NameIndex)
> ;sleep(200)
> ;send("{space}")
>
> For $i = 1 to $NameIndex
> Send("{down}")
> Next
> sleep(200)
> send("{space}")
> ControlClick($LAN_Props,$WinText,"Button8") ;OK knop
>
> BlockInput(0)
>
>
No problem, glad it worked out!

Kevin Horn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20091029/5db14f0d/attachment.htm>


More information about the python-win32 mailing list