Bun venit pe SkullBox!

Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
  Pagini: [1]
  Imprimă  
Două, nu una  (Vizualizari 384)
Muzet
*

Deconectat Deconectat

Mesaje: 151

WWW
Două, nu una, Iul 01, 2008, 19:06

Am un program în care sunt afişate două butoane, butonul A şi buton B. Vreau ca atunci când apasă pe butonul A să se deschidă procescul mspaint.exe şi când apăs pe butonul B să se închidă mspaint.exe
Toate bune şi frumoase, am folosit ShellExecute("mspaint.exe"), am creat butonul B care închide procesul respectiv dar acum nu mai merge butonul A, pur şi simplu nu poţi apăsa pe acesta, am următorul cod:

Cod:
while 1
$nMsg = GUIGetMsg()
   Switch $nMsg
           Case $GUI_EVENT_CLOSE
             Exit
             Case $close
             $proces = "mspaint.exe"
             $ce_sa_inchid = ProcessExists($proces)
             If $ce_sa_inchid Then ProcessClose($ce_sa_inchid)
       EndSwitch
    $msg = GUIGetMsg()
    Select
    case $msg = $paint
        ShellExecute("paint.exe")
    case $msg = $GUI_EVENT_CLOSE
        ExitLoop
        EndSelect
        WEnd
MulÅ£umesc anticipat.  Big grin
« Ultima modificare: Oct 10, 2008, 09:02 de către Smash » Memorat

Smash
*****

Conectat Conectat

Mesaje: 675

WWW
Două, nu una, Iul 01, 2008, 20:04

Asa trebuie sa arate programul :

Cod:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 180, 129, 193, 143)
$paint = GUICtrlCreateButton("Deschide", 48, 16, 75, 25, 0)
$close = GUICtrlCreateButton("Inchide", 48, 64, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $close
$ce_sa_inchid = "mspaint.exe"
ProcessClose($ce_sa_inchid)
Case $paint
ShellExecute("mspaint.exe")
EndSwitch
WEnd
« Ultima modificare: Oct 10, 2008, 09:02 de către Smash » Memorat


Muzet
*

Deconectat Deconectat

Mesaje: 151

WWW
Două, nu una, Iul 01, 2008, 20:25

Am ajuns la următorul cod:


Cod:
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $close
            $ce_sa_inchid = "mspaint.exe"
            ProcessClose($ce_sa_inchid)
    case $paint
    EndSwitch
WEnd
Nu funcţionează corect, trebuie să apeşi pe Închide ca să-ţi dea voie să apeşi pe Deschide, poate ai timp să îl corectezi, mersi.
« Ultima modificare: Oct 10, 2008, 09:04 de către Smash » Memorat

Smash
*****

Conectat Conectat

Mesaje: 675

WWW
Două, nu una, Iul 01, 2008, 20:30

Eu ti-am aratat un cod complet, daca tu nu pui tot nu am cum sa te ajut.
« Ultima modificare: Oct 10, 2008, 09:04 de către Smash » Memorat


astan
*

Deconectat Deconectat

Mesaje: 357

Două, nu una, Iul 02, 2008, 17:05

Nu stiu AutoIt, dar am o intrebare ...

Cum functioneaza exact ProcessClose() ?
Adica, mai exact, cum e implementat ? Apeleaza cumva TerminateProcess() din Winapi ? Suspectez ca da, dar nu stiu sigur ...
Memorat
SkullAds
Ecspert
ReclAmator
* * * * *
Google AdSense

Gen: Bărbat
Mesaje: Multe

Reclama AdSense,
 

 
   


Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Ethical hacking and programming community
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro