download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Жезли за Windows

<1 2 3 4 >

Автор
Съобщение
phrozencrew
Пон, 14.03.11, 18:44
Програмката наистина била по-лесна от колкото предполагах!!!
Ето кода за AutoIt :
#include <Misc.au3>
AutoItSetOption("WinTitleMatchMode", 4)
 
While 1
    If WinActive("classname=ExploreWClass") _
        Or WinActive("classname=CabinetWClass") Then
			If _IsPressed("01") and _IsPressed("02") Then
				Send("!{LEFT}")
			EndIf
			If _IsPressed("04") Then
				Send("!{RIGHT}")
			EndIf
    		Sleep(25)
     Else
;        do nothing
    EndIf
    Sleep(88)
WEnd

С едновременно натискане на ляв и десен бутон на мишката отиваме назад (back), със средния бутон отиваме напред (Forward).

Сорса: Back_and_Forward_Windows_Explorer.au3
32-битова версия: Back_and_Forward_Windows_Explorer.exe
64-битова версия: Back_and_Forward_Windows_Explorer_x64.exe

Скрипта е с абсолютно базова функционалност, която може да се допълни с проверки за грешки, да се премахне действие от някои директории и т.н. Всеки ентусиаст, като древен, да може да си я доработи кода според собствените си нужди.
Според мен, доброто познаване на HotKeys ускорява много повече работата, от колкото използването на мишката и лично за мен подобни приложения не са особено интересни.
Все пак би ми било интересно да разгледам и кода на Dreven, ако ми остане време.

phrozencrew
Пон, 14.03.11, 22:15

RE: Жезли за Windows

” Има ли някаква програмка, която да ми позволи ... връщане в по задна папка да става с кликане на десен и ляв бутон на мишката „
Има! Виж по-горе кода. Всичко останало можеш да си го добавиш сам! Ако нещо ти е неясно питай!
Кое точно действие с клавишите искаш да изпълниш?

ПС: Какво означават жезлите, че за пръв път чувам за подобна тъпотия?
ПС2: Ако ти трябват още горещи клавиши:
[alt+spacebar+n] - минимализира прозорец;
[alt+F4] - затваря прозорец;
Много лесно можеш да ги интегрираш в действия с мишката за Explorer-a.
Но явно не ти трябва това. Обясни какво точно ти е нужно бе човек!

редактиран от phrozencrew на 14.03.11 22:34
vesov
Пон, 14.03.11, 23:04

RE: RE: Жезли за Windows

” ПС: Какво означават жезлите, че за пръв път чувам за подобна тъпотия? „
И аз съм любопитен
phrozencrew
Вто, 15.03.11, 00:01
Кажи са за жезлите, че то явно другото се превърна в голямо мазало. От къде тръгнахме до къде стигнахме ! Клавиатурни подредби
Но тия жалузи са интересни... Обясни на простосмъртните, дето не разбират от Winblowz програмиране, тоя термин.
dreven
Вто, 15.03.11, 00:45

RE: Жезли за Windows

” Кажи са за жезлите, че то явно другото се превърна в голямо мазало. „

Има неща, който не се нуждаят от обяснения. Ако си успял да стартираш програмата трябва да си усетил разликата между кръпката и цялостната програма. Тази програма, която е писана на истински език за програмиране прави доста повече неща, прави ги завършено и цялостно и в същото време е 7 пъти по-компактна. Но оценките трябва да ги дава единствено и само потребителя.

phrozencrew
Вто, 15.03.11, 07:18

RE: RE: Жезли за Windows

” Има неща, който не се нуждаят от обяснения. Ако си успял да стартираш програмата трябва да си усетил разликата между кръпката и цялостната програма. Тази програма, която е писана на истински език за програмиране прави доста повече неща, прави ги завършено и цялостно и в същото време е 7 пъти по-компактна. Но оценките трябва да ги дава единствено и само потребителя. „
Да, да . Естествено не очакваше да знам каква странност ти е в главата, за да ти напиша програмата. Чак толкова боб не мога да хвърлям . Целта ми беше да ти дам насока и вместо да пишеш глупави изключващи инструкции за браузерите, да се възползваш от ExploreWClass и CabinetWClass.
var_100 = "Internet Explorer"
var_108 = 8
call InStr(var_C8, esi, var_108, var_88, 00000001h, esp)
var_100 = "Opera"
var_108 = 8
call InStr(var_C8, esi, var_108, var_88, 00000001h)
var_100 = "Firefox"
var_108 = 8
call InStr(var_C8, esi, var_108, var_88, 00000001h)
var_100 = "Chrome"
var_108 = 8
call InStr(var_C8, esi, var_108, var_88, 00000001h)
var_100 = "Program Manager"

Програма ти в WinXP я няма - ни в работния, ни в системния трей и се наложи да я изключа от таск менаджера! Това е сериозен пропуск. Оправи го!

Какво означават windows жалузите?

ПС: Поне от уважение към хората, които ти тестват програмата и ти дават съвети, би било добре да публикуваш кода. Някой младеж би могъл да напише наистина интересна програма!

dreven
Вто, 15.03.11, 07:36
В поста в който пуснах програмата два пъти изрично подчертах, че програмата няма да работи по XP, но трябва да работи перфектно под 64 битов Windows-7. Програмата я няма в трей лентата, защото не трябва да я има там и е нормално да я няма. Във фонов режим на компютъра работят десетки програми и много от тях дори не могат да се видят в TaskManager.

Сорса няма да го публикувам, защото няма учебна стойност . Не мисля, че се чувствам задължен да публикувам сорса на всяка своя програма. Не мисля и че възпирам творческият потенциал на младите, защото в една програма не сорса е най-важното нещо. Най-ценното нещо е самата идея, а тя може да бъде реализирана по много различни начини. Ако някой се притеснява от моите програми просто не бива да изобщо да си прави труда да ги стартира. Аз никого не задължавам и не мога да се чувствам задължен. Мойте програми са безплатни и винаги намират своите потребители без да е необходимо да ги посочвам с пръст.

океан
Вто, 15.03.11, 12:22

Според мен така направена програмата няма голям ефект нито пък някакво улеснение.Десен ,ляв бутон провлачване нагоре ,надолу,наляво на дясно някак си тъпо изглежда.Не искам да те засегна ,това е лично мнение.Специално за мен би ми подхождало повече изобщо да ги няма тези действия с мишката ,а да се добави една лента в експлорера и да изглежда горе-долу така.

dreven
Вто, 15.03.11, 13:01

RE: Жезли за Windows

Според мен така направена програмата няма голям ефект нито пък някакво улеснение.Десен ,ляв бутон провлачване нагоре ,надолу,наляво на дясно някак си тъпо изглежда.Не искам да те засегна ,това е лично мнение.Специално за мен би ми подхождало повече изобщо да ги няма тези действия с мишката ,а да се добави една лента в експлорера и да изглежда горе-долу така.

Тези събития не съм ги измислил аз, а са дело на софтуерните компании създаващи съвременните браузери. Когато за първи път видях как ги използва сина ми бях силно смутен, защото наблюдавах как едва ли не браузера сменя страниците сам. Когато ги изпробвах обаче усетих глезотията, която са сътворили програмистите. Настоящото ми мнение е, че са изключително добре подбрани и не случайно по подразбиране те са еднакви във всички браузери. Идеята за настоящата програма ми хрумна съвсем естествено. След като привикнах с използването на тези жестове, изведнъж се оказа, че извън браузера те ми липсват. Празнина, която лично за мен вече не съществува.

phrozencrew
Вто, 15.03.11, 19:20
Не разбрах какво означават жазулите, жезълите, жалузите или там каквато еротична фантазия имаш??!!
Тъй като програмата, която предлагаш е изключително неграмотно създадена, ти предлагам да я пренапишеш отново! И след като не даваш на потребителя да разбере какво му причиняваш на компа с тая невидима тъпня, ти предлагам поне да му позволиш сам да си въвежда операциите, които да върши тъпнята. Защо не и кои клавишни комбинации на кое действие да отговарят. Тъй като си един велик разбирачев едва ли ще се затрудниш.
За да не съм голословен и да не говориш пак за някакви кръпки ти предлагам поне този път да почерпиш някой друг съвет от предложенията ми.
...
По добре да напиша една простичка програмка и да покажа сорса...
....

Най-после!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#include <Misc.au3>
AutoItSetOption("WinTitleMatchMode", 4)
 
$dll = DllOpen("user32.dll")
$ini = "functions.ini"
$func1 = IniRead($ini,"HotKey","Function1",@WindowsDir&"system32calc.exe")
$func2 = IniRead($ini,"HotKey","Function2",@WindowsDir&"system32calc.exe")
$func3 = IniRead($ini,"HotKey","Function3",@WindowsDir&"system32calc.exe")
$func4 = IniRead($ini,"HotKey","Function4",@WindowsDir&"system32calc.exe")
$func5 = IniRead($ini,"Gestures","Function5",@WindowsDir&"system32calc.exe")
$func6 = IniRead($ini,"Gestures","Function6",@WindowsDir&"system32calc.exe")
$func7 = IniRead($ini,"Gestures","Function7",@WindowsDir&"system32calc.exe")
$func8 = IniRead($ini,"Gestures","Function8",@WindowsDir&"system32calc.exe")
$funcl1 = IniRead($ini,"Label","Function1",@WindowsDir&"system32calc.exe")
$funcl2 = IniRead($ini,"Label","Function2",@WindowsDir&"system32calc.exe")
$funcl3 = IniRead($ini,"Label","Function3",@WindowsDir&"system32calc.exe")
$funcl4 = IniRead($ini,"Label","Function4",@WindowsDir&"system32calc.exe")
$funcl5 = IniRead($ini,"Label","Function5",@WindowsDir&"system32calc.exe")
$funcl6 = IniRead($ini,"Label","Function6",@WindowsDir&"system32calc.exe")
$funcl7 = IniRead($ini,"Label","Function7",@WindowsDir&"system32calc.exe")
$funcl8 = IniRead($ini,"Label","Function8",@WindowsDir&"system32calc.exe")
 
While   1
    Sleep ( 500 )
    ToolTip("")
    If _IsPressed("04", $dll) Then ; Moje da se smeni s drug buton na mishkata
        $ori = MouseGetPos()
            SplashImageOn("","gdot.bmp","30","30",$ori[0]-15,$ori[1]-15,1)
        Do
            Sleep(100)
        $cur = MouseGetPos()
        If $ori[0] - $cur[0] > 100 And  $ori[1] - $cur[1] > 100  Then
            ToolTip($funcl1)
        ElseIf $ori[0] - $cur[0] < -100 And  $ori[1] - $cur[1] > 100  Then
            ToolTip($funcl2)
        ElseIf $ori[0] - $cur[0] > 100 And  $ori[1] - $cur[1] < -100  Then
            ToolTip($funcl3)
        ElseIf $ori[0] - $cur[0] < -100 And  $ori[1] - $cur[1] < -100  Then
            ToolTip($funcl4)
        ElseIf $ori[0] - $cur[0] > 50 Then
            ToolTip($funcl5)
        ElseIf $ori[0] - $cur[0] < -50 Then
            ToolTip($funcl6)
        ElseIf $ori[1] - $cur[1] > 50 Then
            ToolTip($funcl7)
        ElseIf $ori[1] - $cur[1] < -50 Then
            ToolTip($funcl8)
        Else
            ToolTip("")
        EndIf
		
        Until Not(_IsPressed("04", $dll));Moje da se smeni s drug buton na mishkata
        $cur = MouseGetPos()
      
    	If WinActive("classname=ExploreWClass") Or WinActive("classname=CabinetWClass") Then
		
        	If $ori[0] - $cur[0] > 100 And  $ori[1] - $cur[1] > 100  Then ; Nagore i naliavo - Back
            	Send($func1)
        	ElseIf $ori[0] - $cur[0] < -100 And  $ori[1] - $cur[1] > 100  Then ; Nagore i nadiasno - Forward
            	Send($func2)
        	ElseIf $ori[0] - $cur[0] > 100 And  $ori[1] - $cur[1] < -100  Then ; Nadolu i nalqwo - Minimize
            	Send($func3)
        	ElseIf $ori[0] - $cur[0] < -100 And  $ori[1] - $cur[1] < -100  Then ; Nadolu i nadiasno - Close
            	Send($func4)
				
			ElseIf $ori[0] - $cur[0] > 50 Then ; Naliavo - My Docu
            	ShellExecute($func5)
        	ElseIf $ori[0] - $cur[0] < -50 Then ; Nadiasno - Disc D:
            	ShellExecute($func6)
        	ElseIf $ori[1] - $cur[1] > 50 Then ; NAGORE - Calculator
            	ShellExecute($func7)
        	ElseIf $ori[1] - $cur[1] < -50 Then ; NADOLU - Notepad
            	RShellExecute($func8)
			EndIf
		Else
		
			If $ori[0] - $cur[0] > 50 Then ; Naliavo - My Docu
            	Run($func5)
        	ElseIf $ori[0] - $cur[0] < -50 Then ; Nadiasno - Disc D:
            	Run($func6)
        	ElseIf $ori[1] - $cur[1] > 50 Then ; NAGORE - Calculator
            	Run($func7)
        	ElseIf $ori[1] - $cur[1] < -50 Then ; NADOLU - Notepad
            	Run($func8)
        	Else
            	SplashTextOn("Gestures","No action","250","20","-1","-1",2,"","","")
            	Sleep(500)
            	SplashOff()
        	EndIf
		
		EndIf
		
        SplashOff()
    EndIf
WEnd
DllClose($dll)

Пфууу 40 минути загуба на време!!!!
Ето я и моята програма:
32-bit Версия Windows_gestures_v.01.8458.zip
64-bit версия: Windows_gestures_x64_v.01.7257.zip

След стартирането, приложението следи за натиснат среден клавиш на мишока.
Програмата разполага с ini-файл functions.ini в който са описани всички функции и горещи клавиши (HotKeys) и спокойно могат да се променят от потребителя, за да се напасне според нуждите му:
[HotKey]
Function1 = !{LEFT}
Function2 = !{RIGHT}
Function3 = !{SPACE}N
Function4 = !{F4}

[Gestures]
Function5 = explorer.exe C:
Function6 = explorer.exe D:
Function7 = calc.exe
Function8 = Notepad.exe

[Label]
Function1 = Back
Function2 = Forward
Function3 = Minimize
Function4 = Close Explorer
Function5 = Disk C
Function6 = Disk D
Function7 = Calculator
Function8 = Notepad

Първите 4 функции са обвързани с горещи клавиши. За промяна на клавишите според нуждите на потребителя може да се използва това ръководство: HotKey_help.html
Следващите функции от 5 до 8-ма са обвързани с приложения, които могат да се стартират с жестикулации.
Схемата на функциите е следната:

Сорс кода е приложен в архивите с програмата и лесно може да се допълни с допълнителни функции.
След стартиране, програмата се намества в системния трей и разполага с опция за временно спиране или напълно изключване:

Не съм тествал всичко, така, че може и да има някой друг бъг.

<1 2 3 4 >

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.