Programm um Programmsammlung bei Mauszeiger anzubieten

Winter88

Ensign
Registriert
Okt. 2009
Beiträge
222
Hallo,
ich hatte vor einigen Jahren ein kleines hilfreiches Tool, um mittels Tastaturkürzel bei meinem Mauszeiger ein kleines Fenster zu öffnen, in dem verschiedenste Programme (In Tabs frei sortierbar) aufzurufen. Per Schaltfläche konnte man ebenso den PC Neustarten/Herunterfahren/Abmelden....
Ich kann mich leider nicht mehr an den Namen des Programms erinnern und komm auch nach längeren suchen nicht auf die richtigen Suchbegriffe bei Google oder hier im Base-Forum.
Ich hab die Hoffnung einer von den Lesern hier, kennt solch ein Programm, nutzt es selber oder sogar genau das, welches ich meine. Ich fand es damals sehr hilfreich, meine Arbeit zu beschleunigen und hoffe beruflich wie privat besser damit arbeiten zu können.

Aktuell nutze ich den Aufruf über die Desktop-Symbolleiste in meiner Taskleiste, wo ich alle Programm in einem Ordner Sammle, bzw. das Startmenü. In dem Programm finde ich aber den Vorteil, dass man die verschiedene Programme Herstellerbezogen, bzw Favoriten schnell dort aufrufen kann, wo man eh gerade arbeitet und nicht erst über 3 Monitor bis zur Taskleiste fahren muss.

Vielen Dank schon einmal im vor raus.

Gruß, Winter88
 
vielleicht hilft das?
 
Schon einmal eine Hilfe dahingehend, dass ich mal auf die Idee kam, die Programme im Kontextmenü zu starten. Das könnte eine Lösung sein, müsste dafür nur noch etwas mehr rumkramen im WorldwideWeb. Allerdings ging es mir nicht um das Runterfahren des PC's, war nur eine nettes Zusatzfeature in dem Programm.
Wichtiger wäre mir der Programmaufruf, den ich halt wie eben erwähnt auch im Kontextmenü durchführen könnte, durch anpassen der Registry. Nachteil ist halt aber, dass ich es nur auf der Desktopoberfläche ausführen könnte, soweit mein Verständnis bisher. Es sollte sich aber unabhängig davon starten lassen, ob mein Mauszeiger überm Desktop, Explorer, Firefox oder sonstiges sich befindet.
Trotzdem Danke für den Ansatz Zoidberg
 
vielleicht eines von diesen?
 
Werfe mal Autoit in den Raum. Als Programmsammlung greife ich mal diesen Thread auf.
Über die mittlere Maustaste, wird an der aktuellen Cursorstelle das Menü mit den Programmen aufgerufen. Sobald einer der Buttons geklickt wurde, verschwindet das Menü wieder und wartet auf's erneute Drücken der mittleren Maustaste. Übersicht der Tasten hier.
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>

looping_louie()

Func looping_louie()
While 1
;Wenn Mittlere Maustaste gedrückt:
If _IsPressed ("04") Then test()

;Kurzen Sleep einbauen, damit jeder Klick einzeln erkannt wird
sleep(100)

WEnd
EndFunc

Func test()
;Aktuelle Position auslesen
$aPos = MouseGetPos()

; X = $aPos[0]
; Y = $aPos[1]

$Form1 = GUICreate("Programme", 211, 458, $aPos[0], $aPos[1])
$Button1 = GUICtrlCreateButton("Notepad", 16, 8, 177, 81, $BS_ICON)
$Button2 = GUICtrlCreateButton("PUTTY", 16, 96, 177, 81)
$Button3 = GUICtrlCreateButton("GERÄTEMANAGER", 16, 184, 177, 81)
$Button4 = GUICtrlCreateButton("DNS leeren", 16, 272, 177, 81)
$Button5 = GUICtrlCreateButton("RechnerInfos", 16, 360, 177, 81)
GUISetState(@SW_SHOW)


While 1
$nMsg = GUIGetMsg()
Switch $nMsg

;wenn X gedrückt wird, wieder alles auf Anfang
Case $GUI_EVENT_CLOSE
GUIDelete()
looping_louie()

;Hier die Aktionen der Buttons einfügen
Case $Button1
ShellExecute("notepad.exe")
GUIDelete()
looping_louie()

Case $Button2
ShellExecute("C:\Program Files\PuTTY\putty.exe")
GUIDelete()
looping_louie()

Case $Button3
ShellExecute("devmgmt.msc")
GUIDelete()
looping_louie()

Case $Button4
$CMD = "ipconfig /flushdns"
;so, wenn es ein Fenster anzeigen soll
;RunWait(@ComSpec & " /k " & $CMD )
;so, wenn das Fenster automatisch geschlossen werden soll
RunWait(@ComSpec & " /c " & $CMD )
GUIDelete()
looping_louie()

Case $Button5
FileDelete(@TempDir &"\RECHNERINFOS.vbs")
$Text = "On Error Resume Next" & @CRLF & "strComputer = "".""" & @CRLF & "Dim Client" & @CRLF & "Dim Client2" & @CRLF & "Dim Clientname" & @CRLF & "Dim Idtag" & @CRLF & "Dim WindowsVersion" & @CRLF & "Dim WSHEnvOS" & @CRLF & "Dim WSHEnvPrg" & @CRLF & "Dim fs" & @CRLF & "Dim fso" & @CRLF & "Dim Rechnername" & @CRLF & "Set WSHShell = WScript.CreateObject(""WScript.Shell"")" & @CRLF & "Set WSHEnvOS = WSHShell.Environment(""Process"")" & @CRLF & "Set WSHEnvPrg = WSHShell.Environment(""Process"")" & @CRLF & "set fs = CreateObject (""Scripting.FileSystemObject"")" & @CRLF & "Set objNTInfo = CreateObject(""WinNTSystemInfo"")" & @CRLF & "GetComputerName = lcase(objNTInfo.ComputerName)" & @CRLF & "Rechnername=  ""HOSTNAME : "" & vbTab & GetComputerName" & @CRLF & "strcomputer = "".""" & @CRLF & "Set objWMIService = GetObject(""winmgmts:"" _" & @CRLF & "& ""{impersonationLevel=impersonate}!\\"" & strComputer & ""\root\cimv2"")" & @CRLF & "Set colItems = objWMIService.ExecQuery _" & @CRLF & "(""Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True"")" & @CRLF & "for each objitem in colitems" & @CRLF & "strIPAddress = Join(objitem.IPAddress, "" "")" & @CRLF & "test = Split(strIPAddress, "" "")" & @CRLF & "IP = test(0)" & @CRLF & "Adresse =""IP-ADRESSE : ""  & vbTab & IP " & @CRLF & "next" & @CRLF & "Set IPConfigSet = GetObject(""winmgmts://."").ExecQuery(""select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE"")" & @CRLF & "For Each IPConfig In IPConfigSet" & @CRLF & "If Not IsNull(IPConfig.IPAddress) Then" & @CRLF & "For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)" & @CRLF & "macadresse=""MAC-ADRESSE : ""  & vbTab & IPConfig.MACAddress" & @CRLF & "Next" & @CRLF & "End If" & @CRLF & "Next" & @CRLF & "Set objWMIService = GetObject(""winmgmts://localhost/root/cimv2"")" & @CRLF & "Set colItems = objWMIService.ExecQuery(""Select * from Win32_ComputerSystemProduct"",,48)" & @CRLF & "For Each objItem in colItems" & @CRLF & "modell=""MODELL :  ""  & vbTab & objItem.Name" & @CRLF & "Next" & @CRLF & "Set objWMIService = GetObject(""winmgmts://localhost/root/cimv2"")" & @CRLF & "Set colBIOS = objWMIService.ExecQuery(""Select * from Win32_BIOS"")" & @CRLF & "For each objBIOS in colBIOS" & @CRLF & "Idtag=""ID-Tag / SN : "" & vbTab & objBIOS.SerialNumber" & @CRLF & "Next" & @CRLF & "Set objWMIService = GetObject(""winmgmts://localhost/root/cimv2"")" & @CRLF & "Set colBIOS = objWMIService.ExecQuery(""Select * from Win32_BIOS"")" & @CRLF & "For each objBIOS in colBIOS" & @CRLF & "Biosversion=""BIOS-Version : ""  & vbTab & objBIOS.SMBIOSBIOSVersion" & @CRLF & "Next" & @CRLF & "MsgBox Rechnername + vbnewline + Adresse + vbnewline + macadresse + vbnewline + modell + vbnewline + Idtag + vbnewline + Biosversion, vbOKOnly + vbInformation, ""Rechnerinfos"""
FileWrite(@TempDir &"\RECHNERINFOS.vbs", $Text)
ShellExecute(@TempDir &"\RECHNERINFOS.vbs")
Winwaitclose("RECHNERINFOS")
FileDelete(@TempDir &"\RECHNERINFOS.vbs")
GUIDelete()
looping_louie()

EndSwitch
WEnd
EndFunc

Wenn beispielhaft das Drücken der mittleren Maustaste und STRG das Menü auslösen sollen, dann so abändern:
Code:
If _IsPressed ("04") and _IsPressed("11") Then test()
 
Zurück
Oben