Jump to content

Aktif Pencere Kapanmasını Nasıl Engellerim.


mustafavanli
 Share

Recommended Posts

Merhaba Tnctr ailesi bir süredir forumun programlama bölümünü takip ediyorum(misafir olarak) ve acemi olarak auto-it programlama yapmaya çalışıyorum. Sözü fazla uzatmadan sorunumu anlatmak istiyorum.(Konuma başlık bulmakta biraz zorlandım.Başlık saçma ise mazur görülmesini rica ediyorum. )

Bir programımda aktif bulunan pencerenin kullanıcı tarafından kapatıldığı yada simge durumuna indirildiği durumda kodların belirli bir yere geri dönüp baştan başlamasını istiyorum ben biraz denedim ama beceremedim.

 

Run("notepad.exe")
WinWait("Adsız - Not Defteri")
WinActivate("Adsız - Not Defteri")
WinWaitActive("Adsız - Not Defteri")
Sleep(100)
Send("a") ;harflerin yazılması esnasında program aşa inerse  not defteri kapatılıp baştan açılacak ve ilk send komutundan baştan başlayacak ama bir türlü çıkamadım işin içinden
Sleep(2000)
Send("a")
Sleep(2000)
Send("a")
Sleep(2000)
Send("a")
Sleep(2000)
Send("a")


While 1  ; bunu buraya koyduğumda bitmesini bekliyo en başa koyduğumda program açılmıyor, arala konduğunda ise döngüyü durduruyor
	WinWaitNotActive("Adsız - Not Defteri")
	ProcessClose("notepad.exe")
	Sleep(100)
	Exit

WEnd

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Teşekkür ederim inceleyeceğim.
 
 
Düzenleme:
 
 

 
Run("notepad.exe");
WinWait("Adsız - Not Defteri");
WinActivate("Adsız - Not Defteri");
WinWaitActive("Adsız - Not Defteri");
Sleep(100);
Send("a");
Sleep(2000);
Send("a");
Sleep(2000);
Send("a");
Sleep(2000);
Send("a");
Sleep(2000);aaaa
Send("a");
$a = 0
While 1   ; Bu döngünün send komutunu etkilemeden fakat sürekli aşağıdaki  işlemi yapmasını nasıl sağlayabilirim ?
if Not ProcessExists("notepad.exe") then;
MsgBox(0,"hata","");
Exit;
EndIf;
WinWait("Adsız - Not Defteri");
WinActivate("Adsız - Not Defteri");
WinWaitActive("Adsız - Not Defteri");
WinSetState("Adsız - Not Defteri","",@SW_RESTORE ) ;
if Not ProcessExists("notepad.exe") then;
MsgBox(0,"hata1","");
Exit;
EndIf;
if $a >= 5 and WinWaitNotActive("Adsız - Not Defteri") Then;
MsgBox(0,"hata2",$a);
EndIf;
$a = $a +1;
WEnd; 

Sorunumu yukarıdaki gibi halletmeye çalıştım , daha iyi çözüm bilen üstadlardan yardım istiyorum, ayrıca  belirttiğim gibi "while-wend döngüsünün send komutunu etkilemeden fakat sürekli döngüdeki işlemi  işlemi yapmasını nasıl sağlayabilirim ?" 
İlgilenen herkese sonsuz teşekkürlerimi sunarım. Edited by mustafavanli
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...