Results 1 to 15 of 15
Thread: Èçäèðâàì ìèíèìèçàòîð!
Hybrid View
-
23rd April 2017 10:46 #1Registered User
Join Date: Jun:2004
Posts: 2,134
Èçäèðâàì ìèíèìèçàòîð!
Çíàì, ÷å çâó÷è ìàëêî íà ÿäðåíà ôèçèêà, íî òúðñÿ ìàëêî áåçïëàòíî ïðîãðàì÷å, êîåòî äà ìîæå äà çàäàì êëàâèøíè êîìáèíàöèè òàêà, ÷å äà ìîãà äà ñè ïîêàæà èëè ñêðèÿ íÿêîÿ ïðîãðàìà. Ïðèìåðíî åäíà êîìáèíàöèÿ çà ñêàéï, äðóãà çà âàéáúð, òðåòà çà áðàóçúðà... âìåñòî äà õîäÿ äà ãè öúêàì ñ ìèøêàòà, êîåòî ìè å äîñàäåí ïðîöåñ. Íÿêîè ïðîãðàìè ñè èìàò òàêàâà âúçìîæíîñò, ïðèìåðíî äåñêòîï âåðñèÿòà íà ñêàéï, íî íîâèÿ óèí10 âàðèàíò íÿìà, òà òúðñÿ íåùî óíèâåðñàëíî. Íàìåðèõ âñåâúçìîæíè ïðîãðàìêè, íî íå è òàêàâà, äåòî äà ìè âúðøè ðàáîòà èëè áÿõà ïëàòåíè. À ìå ìúðçè äà ðàçó÷àâàì àóòîèò/àóòîõîòêåé äà ñè íàïèøà òàêîâà

Íÿêîé äà å ÷óâàë/âèæäàë ïîäîáíî?
-
23rd April 2017 11:08 #2
Ïî-äîáðî îò Autohotkey íå ñúì íàìåðèë àç - ìàëêî, áåçïðîáëåìíî, áåçïëàòíî, áåç áëîàòè ðàçíè, ñ êîìïèëàòîð äî exe.
Õè÷ è íà ìåí íå ìè ñå çàíèìàâà ñ êðèâèÿ ñèíòàêñèñ íà AHK, è ñúì òúðñèë êàêâè ëè íå GUI ïðîãðàìè çà ïîäîáíè öåëè, íî íå. Èìà, íî ñà ïëàòåíè, áëîàòíàòè..
Àêî íå òè òðÿáâà ÷åñòî äà ïðàâèø òàêèâà ñêðèïòîâå, íàé-äîáðå ñ AHK. Âñå ùå ñå íàìåðè íÿêîé äà ïîìîãíå, â çàâèñèìîñò àêî êàæåø êàêâî òî÷íî èñêàø.
Àç èìàì ïîäîáíè êîìáèíàöèè çà ðàçëè÷íè ïðîãðàìè, ñêàéï, âàéáúð, ôîîáàð-à, IRC-òî è äð. Äàæå ñè ãè ñêðèâàì â òðåÿ (ò.å. ñêðèâàì îò òàñêáàðà, çàùîòî ñè èìàò èêîíà â òðåÿ òàêà èëè èíà÷å), è âèíàãè ñ êîìáèíàöèÿ ñè ãè èçêàðâàì îòïðåä è ñêðèâàì îáðàòíî.
Êàòî ñêðèïò, çà òàçè çàäà÷à, å åëåìåíòàðíî ïî÷òè. Íàèñòèíà AHK å ìàëêî êðèâ êàòî "åçèê", è ñè èìà ïîäâîäíèòå êàìúíè, íî àêî êàæåø êàêâî òî÷íî èñêàø, çà êîè ïðîãðàìè, ìîæå äà ïîìîãíåì
.
Âå÷å, çà íîâèòå ìåòðî-ñòèë øèòíè íà Âèí10 íå çíàì äàëè ùå å ñúùîòî. Àç ñúì ñè ïèñàë ñêðèïòîâå çà íîðìàëíèòå Windows ïðîãðàìè.Last edited by tedych; 23rd April 2017 at 11:10.
-
23rd April 2017 11:25 #3Registered User
Join Date: Jun:2004
Posts: 2,134
ßâíî ùå òðÿáâà äà ñå ïèøå

Àêî íå òè å ïðîáëåì ìîæå ëè äà ìåòíåø êàêâîòî ñè íàïðàâèë, àç ùå ñè ãî ðåäàêòèðàì, ÷å äà íå ïî÷âàì îò íóëàòà, à äà òå çàíèìàâàì íÿìà ñìèñúë, êàòî èìà òåìïëåéò íÿêàêúâ îò òàì íàòàòúê å ëåñíî (ñòèãà ìåòðî øèòíèòå äà ñðàáîòÿò äå)
-
23rd April 2017 11:55 #4
Ñ ìàëêî ðåäàêòèðàíå, ñêðèâàíå íà ëè÷íà èíôîðìàöèÿ, òîâà å îáùî âçåòî, êîåòî ïîëçâàì çà ïîêàçâàíå è ñêðèâàíå íà ïðîçîðöè â òðåÿ. Ïîä÷åðòàâàì - â òðåÿ, è å õóáàâî ïðîãðàìèòå äà èìàò òðåé èêîíà ïî ïðèíöèï îò ñàìèòå òÿõ. Ìîæå è äà íÿìàò, íî òîãàâà äîñòúï äî ñòàðòèðàíàòà èíñòàíöèÿ ùå èìàø ñàìî ñ êëàâèøíàòà êîìáèíàöèÿ. Äîêàòî ïèøåõ ñêðèïòà ïðåäè, íÿêîëêî ïúòè èçãóáèõ äîñòúï äî íÿêîè ñòàðòèðàíè ïðîãðàìè
. Â êîìåíòàðà íàé-ãîðå ñúì ïîíàïèñàë íÿêîè îò òåçè îñîáåíîñòè.
Èìåííî ïîðàäè òåçè ïðè÷èíè, â äúíîòî íà ñêðèïòà èìà ñåêöèÿ onExit, êîÿòî ïðè exit íà ñêðèïòà (ïðèìåðíî çàòâîðèø ãî îò òðåÿ), âúçñòàíîâÿâà âñè÷êè "îáãðèæâàíè" îò ñêðèïòà ïðîãðàìè. Çà âñÿêà òàêàâà, òðÿáâà äà èìà íàé-äîëó ñåêöèÿ â onExit handler-a.
Îñîáåíîñò å, ÷å çà íÿêîè ïðîãðàìè òðÿáâà ïî-îñîáåí handling, ðàçëè÷íèòå ïðîãðàìè ïîëçâàò ðàçëè÷íè ïðîçîðöè, íÿêîè ñè ãè ñòèëèçèðàò, ìàõàò ðàìêè, ïîëçâàò íÿêàêâè äðóãè ìåòîäè, è ÷åñòî å âúïðîñ íà ïðîáà/ãðåøêà êîé ìåòîä íà ñêðèâàíå/ïîêàçâàíå ðàáîòè ïðè êîíêðåòíàòà ïðîãðàìà.  ñêðèïòà èìà çà ñêàéï è âàéáúð, è íÿêîè äðóãè, êîèòî ïîëçâàì. Çà ïîâå÷åòî îáèêíîâåíè íå áè òðÿáâàëî äà å ïðîáëåì ñ êîïè/ïåéñò íà ñåêöèÿ â ãîðíàòà ÷àñò, è â äîëíàòà (onExit handler-a) äà å Îê, íî ìîæå äà ñå íàëîæè è åêñïåðèìåíòè.
Àêî èñêàø ïðîñòî ìèíèìèçèðàíå è restore îò òàñêáàðà, âå÷å ìîæå äà å äàëå÷ ïî-ïðîñòî, ïðèìåðíî ñ WinMinimize, WinRestore èëè êàêâèòî áÿõà òàì. Çàòîâà òè êàçâàì, ÷å çàâèñè êàêâî Òî÷íî èñêàø äà íàïðàâèø.  êîìáèíàöèèòå ! å Alt, + å Shift, ^ å Ctrl, # å Win êëàâèøà.
Èìà äîñòà êîìåíòàðè-îñòàòúöè îò ðàçëè÷íè åêñïåðèìåíòè.
Ãîðå èìà ïðîìåíëèâà çà ñêàéï àêàóíòà òè (username), çàùîòî ïðîçîðöèòå ñå èäåíòèôèöèðàò ïî òàéòúëà èì. Äîëó çà âàéáúð ïúê ðú÷íî ñúì íàïðàñêàë òàéòúëà, êúäåòî òðÿáâà äà ïðîìåíèø òåëåôîííèÿ ñè íîìåð, è òàêà.
Code:; AutoHotkey Version: 1.x ; Language: English ; Author: Tedych ; ; Script Function: ; Shows/hides the skype contactlist window of two skype accounts (second account is optional). ; Unlike the skype built-in global hotkey function, this script hides the window ; and removes the taskbar button. ; If the window is open but does not have focus, it is focused. ; There is a side effect: Skype program fails to know whether it's hidden or not (it thinks it is never hidden) ; so it cannot show itself automatically, e.g. after you receive a call, or select Open Skype from the tray. ; For keyboard users this shouldn't be an issue. ; ; This script has been extended to support other windows as well, not only skype, ; so they can be shown/hidden with a global hotkey. The windows could lack tray icons ; but it is advisable that they have a tray icon so the user is not confused. ; Just copy/paste one of the bottom sections and change accordingly inside, ; and copy/paste one of the sections in the OnExit handler at the very bottom. ; #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ;------ set your skype accounts here skype_account_name:= "my_skype_username" clpvtitle:= "Free Clipboard Viewer 2.0" SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. SetTitleMatchMode, 2 ;to match partial titles DetectHiddenWindows, Off OnExit, ExitSub PrevActiveId() ; notskype=0) { WinGet, idlist, list,,, Program Manager Loop, %idlist% { this_id := idlist%A_Index% WinGetClass, this_class, ahk_id %this_id% ;if ((notskype = 0 and this_class != "Shell_TrayWnd" and this_class != "Button" and this_class != "tSkMainForm") or (notskype=1 and A_Index > 3)) if (A_Index > 3) ; skip bogus 3 window hwnds (Shell_TratWnd, Button and the current Window's Form class) { WinGet, thiswinid, MinMax, ahk_id %this_id% if (thiswinid = -1) ; minimized, it was last active, but most likely the desktop is active { return 0 } else { return %this_id% } } } return 0 } GroupAdd, skypegrp1, - %skype_account_name% GroupAdd, fcbvgrp, %clpvtitle% ;--------------------------------------------------- SKYPE ACCOUNT SHOW/HIDE ;------ WINDOW HAS FOCUS #IfWinActive, ahk_group skypegrp1 ^#q:: ;PostMessage, 0x112, 0xF060,,, - %skype_account_name%, ; 0x112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE prev_active_id := PrevActiveId() if (prev_active_id != 0) { WinActivate, ahk_id %prev_active_id% } WinHide, - %skype_account_name% return #IfWinActive ;------ WINDOW DOES NOT HAVE FOCUS OR DOES NOT EXIST ^#q:: DetectHiddenWindows, On WinGet, skypewinvar, MinMax, - %skype_account_name% if skypewinvar = 0 ; hidden { ;PostMessage, 0x112, 0xF120,,, - %skype_account_name%, ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE WinShow, - %skype_account_name% ;WinWait, - %skype_account_name%,,1 WinActivate, - %skype_account_name% } else { IfWinExist, - %skype_account_name% { if skypewinvar = -1 ; minimized { PostMessage, 0x112, 0xF120,,, - %skype_account_name%, ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE } else { WinActivate } } } DetectHiddenWindows, Off return ;------------------------------------------------- END SKYPE ACCOUNT ;------------------------------------------------- KVIrc ;------ WINDOW HAS FOCUS #IfWinActive, KVIrc 4. ^#e:: ;PostMessage, 0x112, 0xF060,,, KVIrc 4., ; 0x112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE prev_active_id := PrevActiveId() if (prev_active_id != 0) { WinActivate, ahk_id %prev_active_id% } WinHide, KVIrc 4. return #IfWinActive ;------ WINDOW DOES NOT HAVE FOCUS OR DOES NOT EXIST ^#e:: DetectHiddenWindows, On WinGet, kvircminmax, MinMax, KVIrc 4. if kvircminmax = 0 ; hidden { ;PostMessage, 0x112, 0xF120,,, KVIrc 4., ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE WinShow, KVIrc 4. ;WinWait, KVIrc 4.,,1 WinActivate, KVIrc 4. } else { IfWinExist, KVIrc 4. { if kvircminmax = -1 ; minimized { PostMessage, 0x112, 0xF120,,, KVIrc 4., ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE } else { WinActivate } } } DetectHiddenWindows, Off return ;------------------------------------------------- END KVIrc ;------------------------------------------------- Free Clipboard Viewer ;------ WINDOW HAS FOCUS #IfWinActive, ahk_group fcbvgrp #!c:: ;PostMessage, 0x112, 0xF060,,, %clpvtitle%, ; 0x112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE prev_active_id := PrevActiveId() if (prev_active_id != 0) { WinActivate, ahk_id %prev_active_id% } WinHide, %clpvtitle% return #IfWinActive ;------ WINDOW DOES NOT HAVE FOCUS OR DOES NOT EXIST #!c:: DetectHiddenWindows, On WinGet, fcbvwinvar, MinMax, %clpvtitle% if fcbvwinvar = 0 ; hidden { ;PostMessage, 0x112, 0xF120,,, %clpvtitle%, ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE WinShow, %clpvtitle% ;WinWait, %clpvtitle%,,1 WinActivate, %clpvtitle% } else { IfWinExist, %clpvtitle% { if fcbvwinvar = -1 ; minimized { PostMessage, 0x112, 0xF120,,, %clpvtitle%, ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE } else { WinActivate } } } DetectHiddenWindows, Off return ;------------------------------------------------- END Free Clipboard Viewer ;------------------------------------------------- VIBER ;------ WINDOW HAS FOCUS #IfWinActive, Viber +359888888888 ^#w:: prev_active_id := PrevActiveId() if (prev_active_id != 0) { WinActivate, ahk_id %prev_active_id% } WinHide, Viber +359888888888 return #IfWinActive ;------ WINDOW DOES NOT HAVE FOCUS OR DOES NOT EXIST ^#w:: DetectHiddenWindows, On WinGet, viberminmax, MinMax, Viber +359888888888 if viberminmax = 0 ; hidden { ;PostMessage, 0x112, 0xF120,,, KVIrc 4., ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE WinShow, Viber +359888888888 ;WinWait, Viber +359888888888,,1 WinActivate, Viber +359888888888 } else { IfWinExist, Viber +359888888888 { if viberminmax = -1 ; minimized { PostMessage, 0x112, 0xF120,,, Viber +359888888888, ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE } else { WinActivate } } } DetectHiddenWindows, Off return ;------------------------------------------------- END VIBER return ;--------------------------------------------- onexit subroutine ExitSub: SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. SetTitleMatchMode 2 ;to match partial titles DetectHiddenWindows, On WinGet, skypewinvar, MinMax, - %skype_account_name% if skypewinvar = 0 ; hidden, unhide it { ;PostMessage, 0x112, 0xF120,,, - %skype_account_name%, ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE WinShow, - %skype_account_name% ;WinWait, - %skype_account_name%,,1 ;WinActivate, - %skype_account_name% } ;------------------- KVIrc WinGet, kvircminmax, MinMax, KVIrc 4. if kvircminmax = 0 ; hidden, unhide it { ;PostMessage, 0x112, 0xF120,,, KVIrc 4., ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE WinShow, KVIrc 4. ;WinWait, KVIrc 4.,,1 ;WinActivate, KVIrc 4. } ;------------------- Clipboard Viewer WinGet, fcbvminmax, MinMax, %clpvtitle% if fcbvminmax = 0 ; hidden, unhide it { ;PostMessage, 0x112, 0xF120,,, %clpvtitle%, ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE WinShow, %clpvtitle% ;WinWait, %clpvtitle%,,1 ;WinActivate, %clpvtitle% } ;------------------- Viber WinGet, viberminmax, MinMax, Viber +359888888888 if viberminmax = 0 ; hidden, unhide it { ;PostMessage, 0x112, 0xF120,,, Viber +359888888888, ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE WinShow, Viber +359888888888 ;WinWait, Viber +359888888888,,1 ;WinActivate, Viber +359888888888 } ExitAppLast edited by tedych; 23rd April 2017 at 11:59.
-
23rd April 2017 15:35 #5Registered User
Join Date: Jun:2004
Posts: 2,134
Áëàãîäàðñêî, ùå ãî ðàçãëåäàì è ðàçðîâè÷êàì

ïñ: ñèòíòàêñèñà å íàèñòèíà ÷åïàò
- - - Àâòîìàòè÷íî ñëåòè ìíåíèÿ - - -
Å ñòàíà ìè èíòåðåñíî è ñè ïîèãðàõ ìàëêî ñ òîâà, âñúùíîñò íå å òîëêîâà çëå, êîëêîòî èçãëåæäà, íàïðàâåíî å äîñòà óäîáíî âñúùíîñò. Åòî ñêðèïò÷å, êîåòî ðàáîòè ïðè ìåíå, ìàé ñòàíà äîñòà óíèâåðñàëíî:
Íà Magic ôóíêöèÿòà ïàðàìåòðèòå ñà:Code:#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. Magic(SearchMode, Title, ToHide) { SetTitleMatchMode, %SearchMode% if %ToHide% { DetectHiddenWindows, On } else { DetectHiddenWindows, Off } IfWinExist, %Title% { IfWinActive { if %ToHide% { WinMinimize WinHide } else { WinMinimize } } else { if %ToHide% { WinShow } WinActivate } } } ^+a:: Magic(1, "Skype", false) return ^+v:: Magic(1, "Viber +359", false) return ^#w:: Magic(1, "Untitled - Notepad", false) return
- íà÷èí íà òúðñåíå íà ïðîçîðåö: 1 - äà çàïî÷âà ñ äàäåíèÿ òåêñò; 2 - äà ñúäúðæà; 3 äà å òî÷íî òîçè
- èìå íà ïðîçîðåö
- äàëè äà êðèå èëè ìèíèìèçèðà true/false
-
23rd April 2017 15:53 #6
Àç ìàëêî êàëïàçàíàñêàòà ñúì ãî ïèñàë ñêðèïòà, ïðåäè ãîäèíè, íå ñúì ñè èãðàë äà âêàðàì âúâ ôóíêöèè ïîâòàðÿùèÿ ñå êîä, âåäíúæ íà 2 ãîäèíè íàé-ìíîãî äà ñå íàëîæè äà âêàðàì íîâà ïðîãðàìà.
Ïîâå÷åòî äðóã êîä îáà÷å å ïîðàäè ðàçëè÷èÿòà íà ðàçëè÷íè ïðîãðàìè â ïîâåäåíèåòî èì è áúãîâå ïðè õàéäâàíå èëè ïîêàçâàíå.  ãîðíèÿ êîä ñúì ìàõíàë íÿêîëêî ñåêöèè çà ïðîãðàìè, êîèòî ïîëçâàì, îñòàâèõ ñàìî ïî-òðèâèàëíèòå. Íàëàãàøå ñå äà âçèìàì òåêóùî àêòèâíèÿ ïðîçîðåö ïðåäè äà àêòèâèðàì ñêðèòèÿ, çàùîòî ñëåä òîâà èìàøå ðàçíè àíîìàëèè íà ðàçëè÷íèòå ïðîçîðöè. Íÿêîè íå ñå âëèÿåõà äîáðå îò WinHide, è ñå íàëàãàøå ñ PostMessage äà ñå ðàáîòè.
Ñ âðåìåòî âåðîÿòíî è òè ùå ïàäíåø â êàïàíà ÷åñòè÷êî äà òðàáúëøóòâàø è äîíàñòðîéâàø è ïèïàø íåùàòà
. Àêî ãî ïîëçâàø ñ 2-3 ïî-íîðìàëíè ïðîãðàìè è òå óñòðîéâà, âñè÷êî å íàðåä.
Àêî ìà÷-âàø òàéòúëèòå ñ íåùà êàòî "Skype", î÷àêâàé ïðîáëåìè, çàùîòî òåêóùî ìîæå äà ãëåäàø ñàéò â áðàóçúðà, â êîéòî ñå ñúäúðæà äóìàòà "skype". Íåäîïóñòèìî å ïîíå çà ìåí. Ïîíå ñè ìà÷âàé óçåðíåéìà ñ òèðå îòïðåä
. Àç íàïîñëåäúê ìà÷âàì È ïî window handle èëè ïî åêçå ôàéëà, çà ïî-íàäåæäíî íàìèðàíå íà ïðàâèëíèÿ ïðîçîðåö.




Reply With Quote
Íå âúçìîæíîñò äà èçêëþ÷à êîìïþòúðà
7th May 2023, 16:02 in Îáù ôîðóì çà PC õàðäóåð