Jump to content

Edit box reverting to Previous Data when gaining focus


Recommended Posts

I am having to make a GUI friendly command for ending processes or starting and stopping services remotely using WMI calls instead of 3rd party apps.

The issue I am running into is when I first run the sub routine that generates output to an Edit box it works fine. When i run the function again it initially looks okay but as soon as i mouse over or give the edit box focus it reverts to the previous data, the correct data is being written to the console with a console write.

I am sure i am not seeing something..

#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#Include <GuiEdit.au3>


global $computername, $Output

$computername = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName")

GuiCreate("Remote Process Killer",400,400)
GuiSetState(@SW_SHOW)

$inputbox = GUICtrlCreateInput($computername,10,10)

$button1 = GuiCtrlCreateButton("reset",300,50,50,20)

$button2 = GuiCtrlCreateButton("PSLIST",300,10,50,20)

While 1
    $msg = GUIGetMsg()
        
        Select 
            Case $msg = $Gui_Event_close 
                exit
            Case $msg = $button2
                    $Output = ""
                    CreateList()
            Case $msg = $button1
                MsgBox(1,"Buttontest",$msg)
        EndSelect
        
Wend



Func CreateList()

$computername = GuiCtrlRead($inputbox)
$Output = "*******************************************************"

ConsoleWrite($Output)

$check = ping($computername)

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = $computername

$Output=""
$Output = $Output & "Computer: " & $strComputer  & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Process", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) then
   For $objItem In $colItems
      $Output = $Output &  $objItem.Description & " - " & $objItem.ProcessId & @CRLF

   Next
  
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_Process" )
Endif

$control = GuiCtrlCreateEdit($Output,10,50,200,300)


   ConsoleWrite($Output)

EndFunc
Link to comment
Share on other sites

You should probably use GUICtrlSetData for your editbox rather than making a new one. You have 2 overlapping editboxes instead of one, and you're seeing one or the other because of this.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...