Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 05:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Autoit 2 Fragen

Discussion on Autoit 2 Fragen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Aligator4820's Avatar
 
elite*gold: 7
Join Date: Dec 2012
Posts: 387
Received Thanks: 72
Autoit 2 Fragen

Hey.

Erste frage :
Ich möchte Bilder in ein von mir geschriebenes Programm einfügen. Das mache ich über Koda. Aber die Bilder werden dann nur angezeigt wenn man sich auch selbst auf dem PC hat. Ich will aber das die Bilder im Programm dabei sind.

Zweite Frage :
Ist es möglich einzustellen das dass Programm nicht schließbar ist? Also das der X Button ausgegraut ist oder gar nicht vorhanden. Ich mache nämlich so ein kleines Spaß Programm um Freunde zu trollen.
Aligator4820 is offline  
Old 10/28/2014, 21:20   #2
 
elite*gold: 240
Join Date: Mar 2014
Posts: 374
Received Thanks: 585
Quote:
Originally Posted by Aligator4820 View Post
Hey.

Erste frage :
Ich möchte Bilder in ein von mir geschriebenes Programm einfügen. Das mache ich über Koda. Aber die Bilder werden dann nur angezeigt wenn man sich auch selbst auf dem PC hat. Ich will aber das die Bilder im Programm dabei sind.

Zweite Frage :
Ist es möglich einzustellen das dass Programm nicht schließbar ist? Also das der X Button ausgegraut ist oder gar nicht vorhanden. Ich mache nämlich so ein kleines Spaß Programm um Freunde zu trollen.
Bild kannst du via Inetget downloaden. Du kannst es aber auch von einem FTP server downloaden oder mit einem FilePacker das Bild an die exe Hängen.

GUI_EVENT_CLOSE (-3) es ist möglich mithilfe von styles keine Controlbox zu generieren. Du kannst aber auch ganz einfach den Befehl zum schließen entfernen.
-SoulCr4ck- is offline  
Old 10/28/2014, 21:28   #3

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by Aligator4820 View Post
Hey.

Erste frage :
Ich möchte Bilder in ein von mir geschriebenes Programm einfügen. Das mache ich über Koda. Aber die Bilder werden dann nur angezeigt wenn man sich auch selbst auf dem PC hat. Ich will aber das die Bilder im Programm dabei sind.

Zweite Frage :
Ist es möglich einzustellen das dass Programm nicht schließbar ist? Also das der X Button ausgegraut ist oder gar nicht vorhanden. Ich mache nämlich so ein kleines Spaß Programm um Freunde zu trollen.

Zu 1.
Code:
FileInstall("C:\test.bmp", "D:\mydir\test.bmp")
unter die Includes packen.
Der 1ste Parameter ist der jetzige Pfad, der 2te wo es beim Ausführen hinkommt.

Einfach den Pfad von dem Bild an den neuen Pfad anpassen.

Zu 2.

Code:
$Form1 = GUICreate("Form1", 359, 299, 448, 263, 0)
.yorliK is offline  
Thanks
1 User
Old 10/29/2014, 21:45   #4
 
Aligator4820's Avatar
 
elite*gold: 7
Join Date: Dec 2012
Posts: 387
Received Thanks: 72
Quote:
Originally Posted by Kilroy. View Post
Zu 1.
Code:
FileInstall("C:\test.bmp", "D:\mydir\test.bmp")
unter die Includes packen.
Der 1ste Parameter ist der jetzige Pfad, der 2te wo es beim Ausführen hinkommt.

Einfach den Pfad von dem Bild an den neuen Pfad anpassen.

Zu 2.

Code:
$Form1 = GUICreate("Form1", 359, 299, 448, 263, 0)
Wenn ich $Form1 = GUICreate("Form1", 359, 299, 448, 263, 0) benutze wird das Fenster vom Programm irgend wie voll klein.
Aligator4820 is offline  
Old 10/29/2014, 22:40   #5
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149


Code:
#include <GuiMenu.au3>
#include <WinAPI.au3>
#include <WinAPISys.au3>
#include <WindowsConstants.au3>

Func DisableCloseButton($hwnd)
    _GUICtrlMenu_EnableMenuItem(_GUICtrlMenu_GetSystemMenu($hwnd), $SC_CLOSE, BitOR(0, $MF_DISABLED, $MF_GRAYED))
EndFunc

Func EnableCloseButton($hwnd)
    _GUICtrlMenu_EnableMenuItem(_GUICtrlMenu_GetSystemMenu($hwnd), $SC_CLOSE, BitOR(0, $MF_ENABLED))
EndFunc

Func DisableMinimizeButton($hwnd)
    _WinAPI_SetWindowLong($hwnd, $GWL_STYLE, BitAND(_WinAPI_GetWindowLong($hwnd, $GWL_STYLE), BitNOT($WS_MINIMIZEBOX)))
EndFunc

Func EnableMinimizeButton($hwnd)
    _WinAPI_SetWindowLong($hwnd, $GWL_STYLE, BitOR(_WinAPI_GetWindowLong($hwnd, $GWL_STYLE), $WS_MINIMIZEBOX))
EndFunc

Func DisableMaximizeButton($hwnd)
    _WinAPI_SetWindowLong($hwnd, $GWL_STYLE, BitAND(_WinAPI_GetWindowLong($hwnd, $GWL_STYLE), BitNOT($WS_MAXIMIZEBOX)))
EndFunc

Func EnableMaximizeButton($hwnd)
    _WinAPI_SetWindowLong($hwnd, $GWL_STYLE, BitOR(_WinAPI_GetWindowLong($hwnd, $GWL_STYLE), $WS_MAXIMIZEBOX))
EndFunc
Hilfreich ist es aber nicht wirklich. Das aktivieren und deaktivieren der "Minimieren" und "Maximieren" Buttons ist möglich, der "Schließen" Button lässt sich aber nicht deaktivieren (vermutlich wegen AutoIt internen vorgängen). Selbst das entfernen des "Menüeintrags" mittels _GUICtrlMenu_RemoveMenu() funktioniert nicht.
KDeluxe is offline  
Old 10/30/2014, 18:17   #6

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by Aligator4820 View Post
Wenn ich $Form1 = GUICreate("Form1", 359, 299, 448, 263, 0) benutze wird das Fenster vom Programm irgend wie voll klein.
Wichtig ist nur der letzte Parameter, die 0. Den Rest musste mit deinen Werten abgleichen.
.yorliK is offline  
Old 10/30/2014, 20:53   #7
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Eigentlich ist es nur wichtig den $WS_SYSMENU Style zu entfernen:
Code:
_WinAPI_SetWindowLong($guiHwnd, $GWL_STYLE, BitAND(_WinAPI_GetWindowLong($guiHwnd, $GWL_STYLE), BitNOT($WS_SYSMENU)))
KDeluxe is offline  
Old 10/30/2014, 22:28   #8
 
Aligator4820's Avatar
 
elite*gold: 7
Join Date: Dec 2012
Posts: 387
Received Thanks: 72
Noch eine frage. Ich möchte das wenn man einen Button sich ganz viele Notepads öffnen. Wie in einer unendlich schleife. Hier ein Beispiel wie ich das will:

Code:
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		 Case $Button1
			;Hier soll das Command rein um zu While2 zu kommen

	EndSwitch
 WEnd

 

While 2
     Run ('notepad.exe')
Wend
Wenn man jetzt Button 1 drückt soll While 2 aktiviert werden. Aber weiß nicht welchen Command man dafür braucht.
Aligator4820 is offline  
Old 10/30/2014, 22:32   #9
 
elite*gold: 726
Join Date: Jul 2010
Posts: 14,233
Received Thanks: 7,915
PHP Code:

runNotepad
()

Func runNotepad()
    While 
1
         Run 
('notepad.exe')
    
Wend
EndFunc 
noahrmal is offline  
Old 10/30/2014, 22:38   #10
 
Aligator4820's Avatar
 
elite*gold: 7
Join Date: Dec 2012
Posts: 387
Received Thanks: 72
Quote:
Originally Posted by 123klo View Post

runNotepad()

Func runNotepad()
While 1
Run ('notepad.exe')
Wend
EndFunc
Ich versteh das nicht ganz. Soll ich jetzt

Quote:
Originally Posted by 123klo View Post

runNotepad()

Func runNotepad()
Über While 1 setzen? Falls ja, funktioniert nicht.
Aligator4820 is offline  
Old 10/30/2014, 23:42   #11
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
AutoIt ist Single-Threaded. Du kannst zwei separate Schleifen nicht parallel laufen lassen. "While 2" ist Blödsinn und funktioniert nur da Werte <> 0 als "True" interpretiert werden und somit eine zulässige Bedingung gegeben ist, eine n. Schleife lässt sich damit aber nicht bilden. Stattdessen kannst du überall "While True" verwenden.
Ganz dumm könntest du es so machen:
Code:
;GUI

While True
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            While True
                Run ('notepad.exe')
            Wend
    EndSwitch
 WEnd
Hier wirst du allerdings schnell feststellen, dass der Rest des Scripts nicht mehr funktionieren wird. Das Beispiel von 123klo kannst du dementsprechend auch im Klo runterspülen. Nicht umsonst arbeitet man in der Regel nur mit einer Dauerschleife. Lösen kannst du es mit booleschen Variablen:
Code:
Global $startNotepad = False

; GUI

While True
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            $startNotepad = Not $startNotepad
    EndSwitch
    
    If $startNotepad Then Run("notepad.exe")
 WEnd
KDeluxe is offline  
Old 10/30/2014, 23:49   #12
 
Aligator4820's Avatar
 
elite*gold: 7
Join Date: Dec 2012
Posts: 387
Received Thanks: 72
Okay funktioniert @KDeluxe. Noch eine aller letzte frage. Wegen den Bildern. Also. Ich hab in das Script das hier eingefügt :

Code:
FileInstall("C:\Users\Samuel\Desktop\george-rr-martin.jpg", "C:\Users\Samuel\AppData\Roaming\Bild.jpg")
Und in die Koda GUI section das :

Code:
$Pic1 = GUICtrlCreatePic("C:\Users\Samuel\AppData\Roaming\Bild.jpg", 312, 8, 284, 148, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))

Trotzdem wenn Freunde das Programm annehmen sind die Bilder nicht da. Wo liegt der Fehler ._.? Selbst wenn sie die Bilder Manuel in den Roaming Ordner einfügen sind die Bilder nicht da. Warum ? Sry für die fragen hab erst vorgestern wirklich angefangen mich mit AutoIT zu beschäftigen.
Aligator4820 is offline  
Old 10/31/2014, 09:13   #13
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Weil du absolute Pfadangaben verwendest und deine Freunde wohl kaum alle "Samuel" heißen und ihr Benutzerkonto dementsprechend benennen.
Auch hier gilt:
KDeluxe is offline  
Reply




All times are GMT +1. The time now is 05:10.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.