Post by Frosti » 01 May 2018, 13:59
Okay ich zeig dann mal den Code her, es wäre "genial" wenn ich es mir einfach nur schwer gemacht habe.
Und einen Tip könnte ich auch gebrauchen. Möglicherweise lerne ich noch was dazu. (
)
Code: Select all
compname:= A_ComputerName
;Clientabhängige Rechnerroutinen - wird nur alle 200ms ausgeführt
;nur die Kontrolle auf diese Fenster macht im Schnitt 15,7%
;mehr Timer oder irgendein Hook sind nicht an - einzig der Stundentimer
SetTimer, nopopup_%compname%, 200
;Errinnerungsfenster für die Schwestern, Kontrolle von Wochentag und Uhrzeit finden stündlich statt
If Instr("SP1 AnmeldungPC FUNKTION", compname) {
SetTimer, seldom_%compname%, 3600000
}
;wenn ein Rechner unbenutzt ist (Idle Zustand), werden bestimmte Routinen angehalten
SetTimer, UserAway, 30000
.
.
.
nopopup_AnmeldungPC: ;{
;drückt ein Fenster weg
ChipKartenNachfrage()
;schließt Teamviewer Hinweisfenster
TeamViewerGSClose()
;korrigiert die Fensterposition bei Veränderung der Position
If (WinActive("Telegram") or WinActive("Claws Mail")) {
MailAndTelegramWindow()
}
;HELP Taskbar für Praxomat
IfWinActive, ALBIS ahk_class OptoAppClass
AlbisHotKeyHilfe(AddendumHelp, PraxomatHelp)
;diese Routine zeigt ein Ausfüllhinweis für die Angestellten an
;der muss natürlich geschlossen werden wenn das Fenster nicht mehr da ist
If (WinExist("Cave! von") And CTTExist=0) {
AlbisCaveVonToolTip(compname)
} else If (!WinExist("Cave! von") And CTTExist=1) {
CTTExist=0
ToolTip,,,, 10
}
return
;diese wird nur einmal pro Stunde aufgerufen
seldom_AnmeldungPC:
If ( (A_WDay = Donnerstag) AND (A_HOUR > 10) AND (AuffuellFlag = 0) ) {
Auffuellflag = 1
IniWrite, 1, %AddendumDir%\Praxomat.ini, Anmeldung-PC, Auffuellflag
SprechzimmerAuffuellen("1")
}
If ( (Auffuellflag = 1) AND (!A_WDay = Donnerstag) ) {
Auffuellflag = 0
IniWrite, 0, %AddendumDir%\Praxomat.ini, Anmeldung-PC, Auffuellflag
}
return
;Funktionen -----
ChipKartenNachfrage() { ;automatisches Schließen des Fensters - der Patient hat in diesem Quartal seine Chipkarte noch nicht vorgelegt
SetTitleMatchMode, 2
CoordMode, ToolTip, Window
If WinExist("ALBIS", "Patient hat in diesem Quartal") {
ControlGet, BHwnd, Hwnd, , Button1, ALBIS
ToolTip, Chipkartennachfrage Fenster wurde gefunden`nEs wird geschlossen. Button "Ja" Hwnd ist: %BHwnd%, 100,2, 19
WinActivate, ALBIS ahk_class #32770, Patient hat in diesem Quartal
ControlFocus, Button1, ALBIS ahk_class #32770, Patient hat in diesem Quartal
ControlClick, Button1, ALBIS ahk_class #32770, Patient hat in diesem Quartal, LEFT, NA
sleep, 1000
ToolTip,,,,19
}
CoordMode, ToolTip, Screen
SetTitleMatchMode, Slow
}
TeamViewerGSClose() { ;schließt das Teamviewer Fenster automatisch
;schließen des gesponserte Sitzung Fenster von Teamviewer
If WinExist("Gesponserte Sitzung ahk_exe TeamViewer.exe") or WinExist("Verbindungs Timeout! ahk_exe TeamViewer.exe")
ControlClick, Button4, ahk_exe TeamViewer.exe ahk_class #32770
return
}
MailAndTelegramWindow() { ;fixieren der Positionen von ClawsMail und Telegramfenster am AnmeldungsPC
;ClawsMailFenster
ClawsID:= WinExist("Claws Mail ahk_class gdkWindowToplevel")
If (ClawsID) {
WinGet, minmax, minmax, ahk_id %ClawsID%
if (minmax<>0) {
WinRestore, ahk_id %ClawsID%
}
Claws_RecPointer:= GetWindowPos(ClawsID, ClawsX, ClawsY, ClawsW, ClawsH)
WinGet, Claws_Style, Style, ahk_id %ClawsID%
WinGet, Claws_ExStyle, ExStyle, ahk_id %ClawsID%
if (ClawsX<>1686 OR ClawsY<>12 OR ClawsW<>605 OR ClawsH<>1031) {
WinMove, ahk_id %ClawsID%,, 1686, 12, 605, 1031
}
if ((ClawsStyle<> 0x160F0000) OR (ClawsExStyle<> 0x00000110)) {
WinSet, Style, 0x160F0000, ahk_id %ClawsID% ; Entfernt die Titelleiste des aktiven Fensters (WS_CAPTION).
WinSet, ExStyle, 0x0000011, ahk_id %ClawsID%
}
}
;Telegram Fenster
TGramID:= WinExist("Telegram ahk_class Qt5QWindowIcon")
If (TGramID) {
WinGet, minmax, minmax, ahk_id %TGramID%
if (minmax<>0) {
WinRestore, ahk_id %TGramID%
}
TGram_RecPointer:= GetWindowPos(TGramID, TGramX, TGramY, TGramW, TGramH)
;WinGet, TGram_Style, Style, ahk_id %TGramID%
;WinGet, TGram_ExStyle, ExStyle, ahk_id %TGramID%
if (TGramX<>2302 OR TGramY<>13 OR TGramW<>654 OR TGramH<>1024) {
WinMove, ahk_id %TGramID%,, 2302, 13, 654, 1024
}
}
}
Okay ich zeig dann mal den Code her, es wäre "genial" wenn ich es mir einfach nur schwer gemacht habe.
Und einen Tip könnte ich auch gebrauchen. Möglicherweise lerne ich noch was dazu. ( :dance: )
[code=autohotkey file=Unbenannt.ahk]
compname:= A_ComputerName
;Clientabhängige Rechnerroutinen - wird nur alle 200ms ausgeführt
;nur die Kontrolle auf diese Fenster macht im Schnitt 15,7%
;mehr Timer oder irgendein Hook sind nicht an - einzig der Stundentimer
SetTimer, nopopup_%compname%, 200
;Errinnerungsfenster für die Schwestern, Kontrolle von Wochentag und Uhrzeit finden stündlich statt
If Instr("SP1 AnmeldungPC FUNKTION", compname) {
SetTimer, seldom_%compname%, 3600000
}
;wenn ein Rechner unbenutzt ist (Idle Zustand), werden bestimmte Routinen angehalten
SetTimer, UserAway, 30000
.
.
.
nopopup_AnmeldungPC: ;{
;drückt ein Fenster weg
ChipKartenNachfrage()
;schließt Teamviewer Hinweisfenster
TeamViewerGSClose()
;korrigiert die Fensterposition bei Veränderung der Position
If (WinActive("Telegram") or WinActive("Claws Mail")) {
MailAndTelegramWindow()
}
;HELP Taskbar für Praxomat
IfWinActive, ALBIS ahk_class OptoAppClass
AlbisHotKeyHilfe(AddendumHelp, PraxomatHelp)
;diese Routine zeigt ein Ausfüllhinweis für die Angestellten an
;der muss natürlich geschlossen werden wenn das Fenster nicht mehr da ist
If (WinExist("Cave! von") And CTTExist=0) {
AlbisCaveVonToolTip(compname)
} else If (!WinExist("Cave! von") And CTTExist=1) {
CTTExist=0
ToolTip,,,, 10
}
return
;diese wird nur einmal pro Stunde aufgerufen
seldom_AnmeldungPC:
If ( (A_WDay = Donnerstag) AND (A_HOUR > 10) AND (AuffuellFlag = 0) ) {
Auffuellflag = 1
IniWrite, 1, %AddendumDir%\Praxomat.ini, Anmeldung-PC, Auffuellflag
SprechzimmerAuffuellen("1")
}
If ( (Auffuellflag = 1) AND (!A_WDay = Donnerstag) ) {
Auffuellflag = 0
IniWrite, 0, %AddendumDir%\Praxomat.ini, Anmeldung-PC, Auffuellflag
}
return
;Funktionen -----
ChipKartenNachfrage() { ;automatisches Schließen des Fensters - der Patient hat in diesem Quartal seine Chipkarte noch nicht vorgelegt
SetTitleMatchMode, 2
CoordMode, ToolTip, Window
If WinExist("ALBIS", "Patient hat in diesem Quartal") {
ControlGet, BHwnd, Hwnd, , Button1, ALBIS
ToolTip, Chipkartennachfrage Fenster wurde gefunden`nEs wird geschlossen. Button "Ja" Hwnd ist: %BHwnd%, 100,2, 19
WinActivate, ALBIS ahk_class #32770, Patient hat in diesem Quartal
ControlFocus, Button1, ALBIS ahk_class #32770, Patient hat in diesem Quartal
ControlClick, Button1, ALBIS ahk_class #32770, Patient hat in diesem Quartal, LEFT, NA
sleep, 1000
ToolTip,,,,19
}
CoordMode, ToolTip, Screen
SetTitleMatchMode, Slow
}
TeamViewerGSClose() { ;schließt das Teamviewer Fenster automatisch
;schließen des gesponserte Sitzung Fenster von Teamviewer
If WinExist("Gesponserte Sitzung ahk_exe TeamViewer.exe") or WinExist("Verbindungs Timeout! ahk_exe TeamViewer.exe")
ControlClick, Button4, ahk_exe TeamViewer.exe ahk_class #32770
return
}
MailAndTelegramWindow() { ;fixieren der Positionen von ClawsMail und Telegramfenster am AnmeldungsPC
;ClawsMailFenster
ClawsID:= WinExist("Claws Mail ahk_class gdkWindowToplevel")
If (ClawsID) {
WinGet, minmax, minmax, ahk_id %ClawsID%
if (minmax<>0) {
WinRestore, ahk_id %ClawsID%
}
Claws_RecPointer:= GetWindowPos(ClawsID, ClawsX, ClawsY, ClawsW, ClawsH)
WinGet, Claws_Style, Style, ahk_id %ClawsID%
WinGet, Claws_ExStyle, ExStyle, ahk_id %ClawsID%
if (ClawsX<>1686 OR ClawsY<>12 OR ClawsW<>605 OR ClawsH<>1031) {
WinMove, ahk_id %ClawsID%,, 1686, 12, 605, 1031
}
if ((ClawsStyle<> 0x160F0000) OR (ClawsExStyle<> 0x00000110)) {
WinSet, Style, 0x160F0000, ahk_id %ClawsID% ; Entfernt die Titelleiste des aktiven Fensters (WS_CAPTION).
WinSet, ExStyle, 0x0000011, ahk_id %ClawsID%
}
}
;Telegram Fenster
TGramID:= WinExist("Telegram ahk_class Qt5QWindowIcon")
If (TGramID) {
WinGet, minmax, minmax, ahk_id %TGramID%
if (minmax<>0) {
WinRestore, ahk_id %TGramID%
}
TGram_RecPointer:= GetWindowPos(TGramID, TGramX, TGramY, TGramW, TGramH)
;WinGet, TGram_Style, Style, ahk_id %TGramID%
;WinGet, TGram_ExStyle, ExStyle, ahk_id %TGramID%
if (TGramX<>2302 OR TGramY<>13 OR TGramW<>654 OR TGramH<>1024) {
WinMove, ahk_id %TGramID%,, 2302, 13, 654, 1024
}
}
}
[/code]