z.B möchte ich das Programm Notepad immer im Vordergrund und nicht verschiebbar aufrufen.
Wie ich meine selbsterstelle GUI nicht verschiebbar machen kann, das weis icht
Paule
z.B möchte ich das Programm Notepad immer im Vordergrund und nicht verschiebbar aufrufen.
Wie ich meine selbsterstelle GUI nicht verschiebbar machen kann, das weis icht
Paule
HI,
vielleicht nicht besonder clever, aber für den Anfang
; Fenster nicht verschieben
HotKeySet('2', "end")
Global $title = 'C:\WINNT\System32\cmd.exe'
Global $pos = WinGetPos($title)
WinSetOnTop($title,"", 1)
While 1
WinMove($title, "", $pos[0], $pos[1])
WEnd
Func end()
Exit(0)
EndFunc
Alles anzeigen
So long,
Mega
Hallo!
Ich würde winsetontop nicht in der schleife machen, da es nichts bringt^^
wie meinst du dein problem überhaupt genau? Also so das es maximiert ist? Wie würdest du es in der gui machen(damit wir so ne vorstellung haben was du willst)?
Mfg Spider
Na ne gui nicht verschiebbar ist einfach ein splash mit gui elementen.
gibt es nicht so eine art attribut für gestartet programme alla noresize (nicht in der größe änderbar) auch mit notmoveable für nicht verschiebbar?
HI,
wer hat das denn da in die Schleife gepackt?
Ich glaube es handelt sich um eine Nicht-Autoit-GUI.
Habe noch nicht groß drüber nachgedacht, desewgen dieser umständliche aber funktionierede Schnellschuss da oben. :tongue:
So long,
Mega
Danke für die Antworten,
also konkret.
Ich starte den PDF Reader "Foxit Reader" (weil der sehr schnell ist) und lege ein Fenster (eine AutoIt GUI) über die Werkzeugleiste des Foxit Readers.
Wenn der Anwender jetzt das Foxit Reader Fenster verschiebt, bleibt meine GUI stehen und liegt nicht mehr über die Werkzeugleiste des Foxit Readers.
Mein Gedankengang ist:
a) Foxit Reader nicht verschiebbar machen oder
b) meine GUI wandert mit dem Foxit Reader.
Ich hatte gedacht, das ich irgenein Schalter oder Funktiosaufrauf in der Dokumentation und bei der Suche im Forum nicht gefunden habe, deshalb meine Anfrage hier.
Paule
Hallo!
Ah Ok das ist nicht so schwer! Es gibt nru ein problem: wenn man die taskleiste von dem foxit gazn wo anders hin verschiebt (z.b. ganz unten an den rand) dann kommt deine gui nicht mehr mit! Aber wenn es im normalmodus ist musst du einfach die position von dem foxit reader lesen (wingetpos) und dann errechenen wie weit deine taskleiste
a) vom oberen rand des foxit weg ist
b) von linken rand
und dann einfach die position vom foxitreader lesen (wingetpos) und dann die werte a und b zu deiner guiposition hinzurechnen!
Kann dir nacher auch mal ein skritp schreiben muss jetzt aber los, in die stadt!
Mfg Spider
Hallo,
probier mal das (Pfad bei Run anpassen):
Run("D:\Tools\Foxit Reader.exe")
WinWait("Foxit Reader")
$handle = WinGetHandle("Foxit Reader")
ControlDisable($handle, "", "AfxControlBar42s1")
ControlHide($handle, "", "AfxControlBar42s1")
ControlSend($handle, "", "AfxControlBar42s1", "!{F8}")
WinWaitClose($handle)
Alles anzeigen
Damit wird die Toolbar deaktivert und kann dann nicht mehr benutzt werden!
hier mal das Problen dargestellt mit Code
#include <Constants.au3>
#include <GUIConstants.au3>
#include <file.au3>
#include <array.au3>
#Include <GuiCombo.au3>
Opt("GUICoordMode", 0) ;1=absolute, 0=relative, 2=cell
Opt("WinTitleMatchMode",2)
Opt("TrayIconDebug", 1)
$Mandant="100"
$FirstNr="711412"
$LastNr="712699"
$PdfReader = @ScriptDir & "\FoxitReader.exe rnr.pdf"
Run($PdfReader)
$WinTitel="Foxit Reader"
WinWait($WinTitel)
$fc = ControlGetHandle($WinTitel, "", "AfxControlBar42s1")
$fcpos = WinGetPos($WinTitel)
$xx= $fcpos[2]
$aw = $fcpos[2]-208
$ah = 30
$ax = $fcpos[0]+200
$ay = $fcpos[1]+32
$Form1 = GUICreate("", $aw, $ah, $ax, $ay, $WS_POPUPWINDOW + $WS_VISIBLE + $DS_SETFOREGROUND,$WS_EX_TOOLWINDOW,$fc)
$Lbl_Mandant = GUICtrlCreateLabel(" Mandant " & $Mandant, 0, 5, 110, 20)
GUICtrlSetBkColor(-1,0x00ff00) ; Grün
GUICtrlSetFont(-1, 10, 400, 0, "Arial Black")
$Bot_Mandant = GUICtrlCreateButton("MM",115,-2,25,25, $BS_ICON)
GUICtrlSetImage ( -1, @ScriptDir & "\icon\wechsel.ico")
GUICtrlSetTip(-1,"Mandant wechsel")
$Lbl_FLNr = GUICtrlCreateLabel(" " & $FirstNr & " - " & $LastNr, 30, 5, 87, 16)
GUICtrlSetBkColor(-1,0x00ff00) ; Grün
GUICtrlSetTip(-1,"in diesem Bereich kann die Rechnunsnummer gesucht werden")
$Bot_Prev = GUICtrlCreateButton("<", 100, -5, 25, 25, $BS_ICON)
GUICtrlSetImage ( -1, @ScriptDir & "\icon\links1.ico")
GUICtrlSetTip(-1,"vorhergehende Rechnungsnummer")
$Bot_Next = GUICtrlCreateButton(">", 30, 0, 25, 25, $BS_ICON)
GUICtrlSetImage ( -1, @ScriptDir & "\icon\rechts1.ico")
GUICtrlSetTip(-1,"nächste Rechnungsnummer")
$InpRnr = GUICtrlCreateInput($FirstNr, 40, 0, 70, 25)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetTip(-1,"hier die Rechnunsnummer eingeben")
$Bot_OK = GUICtrlCreateButton("OK",100,4,60,20)
GUICtrlSetTip(-1,"suche Rechnungsnummer")
$Bot_Abbruch = GUICtrlCreateButton("Abbruch",65,0,60,20)
GUICtrlSetTip(-1,"beenden")
GUISetState(@SW_SHOW)
WinActivate($Form1)
While WinExists("Foxit Reader") ; wenn Foxit Reader geschlossen wird, soll auch diese Gui beendet werden
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $Bot_Abbruch
WinClose("Foxit Reader")
ExitLoop
Case $msg = $Bot_Mandant
Case $msg = $Bot_OK
Case $msg = $Bot_Next
Case $msg = $Bot_Prev
EndSelect
WEnd
Alles anzeigen
Edit GtaSpider: Bei uns heißt der befehl nicht /code und code/ sonder [CODE ]< Ohne leerzeichen! und [/CODE] und ausserdem habe ich noch einen spoiler hinzugefügt ([SPOILER ] und [/SPOILER])
Ich habe mal ein paar Änderungen vorgenommen:
#include <Constants.au3>
#include <GUIConstants.au3>
#include <file.au3>
#include <array.au3>
#Include <GuiCombo.au3>
Opt("GUICoordMode", 0) ;1=absolute, 0=relative, 2=cell
Opt("GUIResizeMode", 802)
Opt("WinTitleMatchMode", 2)
Opt("TrayIconDebug", 1)
$Mandant = "100"
$FirstNr = "711412"
$LastNr = "712699"
$PdfReader = @ScriptDir & "\FoxitReader.exe rnr.pdf"
Run($PdfReader)
$WinTitel = "Foxit Reader"
WinWait($WinTitel)
$parent = WinGetHandle($WinTitel)
$WinPos = WinGetPos($WinTitel)
$fcpos = ControlGetPos($WinTitel, "", "AfxControlBar42s1")
$ax = $WinPos[0]+2
$ay = $WinPos[1]+42
$aw = $fcpos[2]
$ah = $fcpos[3]-2
$xx= $fcpos[2]
$Form1 = GUICreate("", $aw, $ah, $ax, $ay, $WS_POPUPWINDOW + $WS_VISIBLE + $DS_SETFOREGROUND, $WS_EX_TOOLWINDOW, $parent)
$Lbl_Mandant = GUICtrlCreateLabel(" Mandant " & $Mandant, 0, 5, 110, 20)
GUICtrlSetBkColor(-1, 0x00ff00) ; Grün
GUICtrlSetFont(-1, 10, 400, 0, "Arial Black")
$Bot_Mandant = GUICtrlCreateButton("MM", 115, -2, 25, 25, $BS_ICON)
GUICtrlSetImage(-1, @ScriptDir & "\icon\wechsel.ico")
GUICtrlSetTip(-1, "Mandant wechsel")
$Lbl_FLNr = GUICtrlCreateLabel(" " & $FirstNr & " - " & $LastNr, 30, 5, 87, 16)
GUICtrlSetBkColor(-1, 0x00ff00) ; Grün
GUICtrlSetTip(-1, "in diesem Bereich kann die Rechnunsnummer gesucht werden")
$Bot_Prev = GUICtrlCreateButton("<", 100, -5, 25, 25, $BS_ICON)
GUICtrlSetImage(-1, @ScriptDir & "\icon\links1.ico")
GUICtrlSetTip(-1, "vorhergehende Rechnungsnummer")
$Bot_Next = GUICtrlCreateButton(">", 30, 0, 25, 25, $BS_ICON)
GUICtrlSetImage(-1, @ScriptDir & "\icon\rechts1.ico")
GUICtrlSetTip(-1, "nächste Rechnungsnummer")
$InpRnr = GUICtrlCreateInput($FirstNr, 40, 0, 70, 25)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetTip(-1, "hier die Rechnunsnummer eingeben")
$Bot_OK = GUICtrlCreateButton("OK", 100, 4, 60, 20)
GUICtrlSetTip(-1, "suche Rechnungsnummer")
$Bot_Abbruch = GUICtrlCreateButton("Abbruch", 65, 0, 60, 20)
GUICtrlSetTip(-1, "beenden")
GUISetState(@SW_SHOW)
WinActivate($Form1)
While WinExists($WinTitel) ; wenn Foxit Reader geschlossen wird, soll auch diese Gui beendet werden
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $Bot_Abbruch
WinClose($WinTitel)
ExitLoop
Case $msg = $Bot_Mandant
Case $msg = $Bot_OK
Case $msg = $Bot_Next
Case $msg = $Bot_Prev
EndSelect
$WinPos = WinGetPos($WinTitel)
$fcpos = ControlGetPos($WinTitel, "", "AfxControlBar42s1")
$ax = $WinPos[0]+4
$ay = $WinPos[1]+44
$aw = $fcpos[2]
$ah = $fcpos[3]-2
WinMove($Form1,"",$ax,$ay,$aw,$ah)
WEnd
Alles anzeigen
Du benutzt den Schalter:
Opt("GUIResizeMode", 802)
Was soll der nun genau bezwecken?
Wenn ich den auskommentiere merke ich keinen Unterschied.
Paule
Wenn der Schalter fehlt und das Fenster von Foxit nicht Vollbild ist kann es passieren das die Element auf deiner Leiste übereinandergeschoben werden je kleiner das Fenster gemacht wird.