lin0308 发表于 2009-8-13 14:34:51

按钮问题(已解决)

本帖最后由 lin0308 于 2010-7-2 18:53 编辑

GUICtrlCreateButton("帮助",240,20,120,20),如何按下帮助后弹出一个如同MsgBox(4096,"", "我的第一个AU3程序。")的对话框

autoit3CN 发表于 2009-8-13 14:57:25

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 175, 127, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 48, 32, 65, 49, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        MsgBox(4096,"", "我的第一个AU3程序。")
        EndSwitch
WEnd

lin0308 发表于 2009-8-13 19:52:03

假如我要在我的窗体上加上这个按钮要怎么弄
比如
#include <GUIConstants.au3>
#include <Misc.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Opt("GUIOnEventMode", 1)

_Singleton("Hardware_info")

Global $hGui,$bios,$board,$cpu,$display,$sound,$network,$mem,$os


SplashImageOn("logo","Splash.jpg",425,200,-1,-1,1)

$hGui=GUICreate ("                     硬件信息查看器",450,400,-1,-1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_hGuiMsg")


GUICtrlCreateGroup ("信息选项", 10, 10, 430, 360)

GUICtrlCreateButton("C P U",25,40,80,30)
$cpu=GUICtrlCreateInput("",120,40,270,30,$ES_READONLY)

GUICtrlCreateButton("B I O S",25,80,80,30)
$bios=GUICtrlCreateInput("",120,80,270,30,$ES_READONLY)


GUICtrlCreateButton("主    板",25,120,80,30)
$board=GUICtrlCreateInput("",120,120,270,30,$ES_READONLY)


GUICtrlCreateButton("显    卡",25,160,80,30)
$display=GUICtrlCreateInput("",120,160,270,30,$ES_READONLY)

GUICtrlCreateButton("声    卡",25,200,80,30)
$sound=GUICtrlCreateInput("",120,200,270,30,$ES_READONLY)

GUICtrlCreateButton("网    卡",25,240,80,30)
$network=GUICtrlCreateInput("",120,240,270,30,$ES_READONLY)

GUICtrlCreateButton("内    存",25,280,80,30)
$mem=GUICtrlCreateInput("",120,280,270,30,$ES_READONLY)

GUICtrlCreateButton("操作系统",25,320,80,30)
$os=GUICtrlCreateInput("",120,320,270,30,$ES_AUTOHSCROLL+$ES_READONLY)

GUICtrlCreateGroup ("",-99,-99,1,1)
GUICtrlCreateLabel("Autoit 中文论坛 www.autoitx.com 倾情奉献",15,370,300,30)
GUICtrlCreateLabel("Make By Sanhen",350,370,100,30)

               

GUISetState()

info()
SplashOff()
While 1

Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', @AutoItPID)
Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle)
DllCall("kernel32.dll" , 'int', 'CloseHandle', 'int', $ai_Handle)
Sleep(1000)

Wend

Func _hGuiMsg()
Switch @GUI_CTRLID
   
   Case $GUI_EVENT_CLOSE
         Exit      
      Case $GUI_EVENT_MINIMIZE
                guisetstate(@SW_MINIMIZE)
      Case $GUI_EVENT_RESTORE
                guisetstate(@SW_RESTORE)
   EndSwitch

EndFunc ;==>_hGuiMsg()

Func info()
      
Global $objWMIService,$colBios,$colBoard,$colSettings,$colMemory,$colCPU,$colVideoinfo,$colSound ,$colNIC

Local $object,$objOperatingSystem
$objWMIService = objget("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$colBios = $objWMIService.ExecQuery("Select * from Win32_BIOS")
$colBoard = $objWMIService.ExecQuery("SELECT * FROM Win32_BaseBoard")
$colSettings = $objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
$colMemory = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
$colCPU = $objWMIService.ExecQuery("Select * from CIM_Processor")
$colVideoinfo = $objWMIService.ExecQuery("Select * from Win32_VideoController")
$colSound = $objWMIService.ExecQuery("Select * from Win32_SoundDevice")
$colNIC = $objWMIservice.ExecQuery("Select * from Win32_NetworkAdapter WHERE Netconnectionstatus = 2")

For $object in $colCPU
      GUICtrlSetData($cpu, StringStripWS($object.Name,1))
Next

For $object in $colBios
      GUICtrlSetData($bios,StringMid($object.Caption,1))
Next


For $object in $colBoard
      GUICtrlSetData($board,$object.Product)
      
Next



For $object in $colVideoinfo
      GUICtrlSetData($display, StringStripWS($object.Description ,1))

Next

For $object in $colSound
      GUICtrlSetData($sound, StringStripWS($object.Description ,1))
Next

For $object in $colNIC
      GUICtrlSetData($network, StringStripWS($object.name ,1))

Next


For $objOperatingSystem in $colSettings

GUICtrlSetData($os,$objOperatingSystem.Caption & " Build " & $objOperatingSystem.BuildNumber & " Sp " & $objOperatingSystem.ServicePackMajorVersion & "." & $objOperatingSystem.ServicePackMinorVersion )

Next
for $object in $colMemory
      GUICtrlSetData($mem,String(Int(Number($object.TotalPhysicalMemory) / (1024 * 1024))) & " Mb")
Next

EndFunc ;==>Info()

这个代码要怎么加上按钮,显示出来和你给出的代码效果一样

sunny617 发表于 2009-8-13 20:59:39

二楼已经给了你答案了。。。你还要?

不知下面的是不是你要的
-------------------------------------------------------------------------------------------

#include <GUIConstants.au3>
#include <Misc.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

;Opt('MustDeclareVars', 1)
;Opt("GUIOnEventMode", 1)

_Singleton("Hardware_info")

Global $hGui,$bios,$board,$cpu,$display,$sound,$network,$mem,$os,$show,$nMsg


SplashImageOn("logo","Splash.jpg",425,200,-1,-1,1)

$hGui=GUICreate ("                     硬件信息查看器",450,400,-1,-1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_hGuiMsg")


GUICtrlCreateGroup ("信息选项", 10, 10, 430, 360)

GUICtrlCreateButton("C P U",25,40,80,30)
$cpu=GUICtrlCreateInput("",120,40,270,30,$ES_READONLY)

GUICtrlCreateButton("B I O S",25,80,80,30)
$bios=GUICtrlCreateInput("",120,80,270,30,$ES_READONLY)


GUICtrlCreateButton("主    板",25,120,80,30)
$board=GUICtrlCreateInput("",120,120,270,30,$ES_READONLY)


GUICtrlCreateButton("显    卡",25,160,80,30)
$display=GUICtrlCreateInput("",120,160,270,30,$ES_READONLY)

GUICtrlCreateButton("声    卡",25,200,80,30)
$sound=GUICtrlCreateInput("",120,200,270,30,$ES_READONLY)

GUICtrlCreateButton("网    卡",25,240,80,30)
$network=GUICtrlCreateInput("",120,240,270,30,$ES_READONLY)

GUICtrlCreateButton("内    存",25,280,80,30)
$mem=GUICtrlCreateInput("",120,280,270,30,$ES_READONLY)

GUICtrlCreateButton("操作系统",25,320,80,30)
$os=GUICtrlCreateInput("",120,320,270,30,$ES_AUTOHSCROLL+$ES_READONLY)

GUICtrlCreateGroup ("",-99,-99,1,1)
GUICtrlCreateLabel("Autoit 中文论坛 www.autoitx.com 倾情奉献",15,370,300,30)
GUICtrlCreateLabel("Make By Sanhen",350,370,100,30)
$show=GUICtrlCreateButton("显示",350,15,Default,Default)

               

GUISetState()
SplashOff()

While 1
   $nMsg = GUIGetMsg()
               
         Switch $nMsg
               Case $GUI_EVENT_CLOSE
                         Exit
               Case $show
                                        If GUICtrlRead($show) = "显示" Then
                                        info()
                                       
                                        EndIf
       EndSwitch
WEnd
info()
While 1
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', @AutoItPID)
                Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle)
                DllCall("kernel32.dll" , 'int', 'CloseHandle', 'int', $ai_Handle)
                Sleep(1000)
WEnd



Func _hGuiMsg()
Switch @GUI_CTRLID
   
   Case $GUI_EVENT_CLOSE
         Exit      
      Case $GUI_EVENT_MINIMIZE
                guisetstate(@SW_MINIMIZE)
      Case $GUI_EVENT_RESTORE
                guisetstate(@SW_RESTORE)
   EndSwitch

EndFunc ;==>_hGuiMsg()

Func info()
      
Global $objWMIService,$colBios,$colBoard,$colSettings,$colMemory,$colCPU,$colVideoinfo,$colSound ,$colNIC

Local $object,$objOperatingSystem
$objWMIService = objget("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$colBios = $objWMIService.ExecQuery("Select * from Win32_BIOS")
$colBoard = $objWMIService.ExecQuery("SELECT * FROM Win32_BaseBoard")
$colSettings = $objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
$colMemory = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
$colCPU = $objWMIService.ExecQuery("Select * from CIM_Processor")
$colVideoinfo = $objWMIService.ExecQuery("Select * from Win32_VideoController")
$colSound = $objWMIService.ExecQuery("Select * from Win32_SoundDevice")
$colNIC = $objWMIservice.ExecQuery("Select * from Win32_NetworkAdapter WHERE Netconnectionstatus = 2")

For $object in $colCPU
      GUICtrlSetData($cpu, StringStripWS($object.Name,1))
Next

For $object in $colBios
      GUICtrlSetData($bios,StringMid($object.Caption,1))
Next


For $object in $colBoard
      GUICtrlSetData($board,$object.Product)
      
Next



For $object in $colVideoinfo
      GUICtrlSetData($display, StringStripWS($object.Description ,1))

Next

For $object in $colSound
      GUICtrlSetData($sound, StringStripWS($object.Description ,1))
Next

For $object in $colNIC
      GUICtrlSetData($network, StringStripWS($object.name ,1))

Next


For $objOperatingSystem in $colSettings

GUICtrlSetData($os,$objOperatingSystem.Caption & " Build " & $objOperatingSystem.BuildNumber & " Sp " & $objOperatingSystem.ServicePackMajorVersion & "." & $objOperatingSystem.ServicePackMinorVersion )

Next
for $object in $colMemory
      GUICtrlSetData($mem,String(Int(Number($object.TotalPhysicalMemory) / (1024 * 1024))) & " Mb")
Next
页: [1]
查看完整版本: 按钮问题(已解决)