Batch mit Mausklick?

2 Antworten

Das geht z.B. mit BatBox. Hier mal ein altes Beispielmenü von mir:

@echo off & color f0 & title MENU
::check if batbox already exists
if not exist "%WINDIR%\system32\batbox.exe" call :createBatBox


:MENU
cls
::shows menu with batbox commands
batbox /g 1 1 /c 0xf3 /d "MENU"
batbox /g 1 3 /c 0xf1 /d "option1"
batbox /g 1 4 /c 0xf1 /d "option2"
batbox /g 1 5 /c 0xf1 /d "option3"


:MOUSE
::Wait for mouse input
for /f "tokens=1,2 delims=:" %%x in ('batbox /m') do (
    set "mouse.x=%%x"
    set "mouse.y=%%y"
    set "mouse.click=%%z"
)


::Check for every menu item
if %mouse.x% GEQ 1 if %mouse.x% LEQ 4 if %mouse.y% EQU 1 goto men1
if %mouse.x% GEQ 1 if %mouse.x% LEQ 7 if %mouse.y% EQU 3 goto opt1
if %mouse.x% GEQ 1 if %mouse.x% LEQ 7 if %mouse.y% EQU 4 goto opt2
if %mouse.x% GEQ 1 if %mouse.x% LEQ 7 if %mouse.y% EQU 5 goto opt3


::else::
goto MOUSE


:men1
batbox /g 1 1 /c 0xfc /d "MENU" /w 300
goto MENU


:opt1
cls
echo You selected option1
pause
exit


:opt2
cls
echo You selected option2
pause
exit


:opt3
cls
echo You selected option3
pause
exit




:createBatBox
if exist batbox.exe goto step2
 echo generiere batbox.exe ...
 for %%b in (
 4D5343460000000073030000000000002C000000000000000301010001000000
 00000000470000000100010000060000000000000000FE4259B5200062617462
 6F782E657865003FD9412724030006434BB5545F485361143F5737F0CF726B3A
 102ABB528B1EC24813421026D3529AB59C184460D7ED6EF7CE79EFB8F74A562F
 0B1D543EF5143DC60483C27AF0C14248B18710A4979ECA40426A0329A1B21ECA
 AF73EE9D4E21B287FAB6DF77CFF99DF37DDFEF3B3B779D1752C001800D5CC018
 808F1C1C3ED879A41015FB9F56C064E942ED141758A8ED96649D4F6A6A4C1306
 F8B0A028AAC1F789BC36A8F0B2C2B79E0DF1036A44ACDB557670638F601B4080
 E3A0C3FBFDDC06B7044EAE9CE34EA2283041C3B505A48E9E450079B99B69C05B
 FC4B1457BC75DD6666DECD8F981BE02EF71797FDC7A32E9A100C7C1EB1E505D9
 2CDD5BC7252AC57F1E92ABCA0771EB21D968029C98E76125D25F9967D1ED838C
 8372D6F24E093AD9175832FFADCAD43C7F8C459F9442D39D1E8C3947C6913F15
 7BB79A7BCD18CBA6D10BB24687B9E33226E4E6904E5DE37A9DE90A3C9C7926F1
 98F48C73E401F2CC731FBD66BAB2335D6E8689B0336A13E6798C76B601772CB6
 F7E2565EEAD64C1589A931C93092B34B2ECE4E1C6BB466EBE82C1DDD4E8A3ED3
 5ED25137B163B861AE9ED8B7D452F182D42F945F4D111213920E14F28B908D57
 B3C61233710903560539A9DA3CD0E257901F6EA600D664019744879B295EE44C
 3F43EF9BFD303A3FD172A61FE13CDABC17FD9BEBB39F5CD7DFD3BDEEF155565D
 6E63B4D8CC0E9EEF910E15745C5D47755EAB32AB245726A20A890C55275B4616
 952417A44035BA71FC8498670A970F3F77CCCD7E2862E3F524D44EBFBB6D741F
 3D46F7A4DF3847E885988B835574AF0EDE4893F9056F1874970F26101F111711
 B6DD3EA8411C472C20A611FD31211C8D0CA89737DAEC4665A1E532F8CA8DA13F
 ED2E7013682FBA7FDFA29DA11E7F57775D6B2000A7DBBACEB4051AEA4D077EE0
 02076E54833881E846488864FEB09DE2D8AAA2113222ED82124988E48744C3AF
 2ABA9A103BF17F6A3BD32D0E192D86A1C97D8386B82DE21FD474550BAABA6CC8
 AA42ABBA4421920F7628C941A385F213A298DCB6AE55D69309E18A79D40C6A9A
 47BC422C2356106B799D7F8AE16D345931A264F5C644232C9916990382AC085A
 4C475F1C920D93EFEF932C4B3734434D00FC02                          
 ) Do >>t.dat (Echo.For b=1 To len^("%%b"^) Step 2
 ECHO WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)
 Cscript /b /e:vbs t.dat>batbox.ex_
 Del /f /q /a t.dat >nul 2>&1
 Expand -r batbox.ex_ >nul 2>&1
 Del /f /q /a batbox.ex_ >nul 2>&1
:step2
 echo verschiebe batbox nach system32 ...
 move "batbox.exe" "%WINDIR%\system32\"

Die x-Werte musst du eventuell an deine Menüeinträge anpassen.

Du könntest eine hta-Seite bauen und in dieser mit VBS oder JS skripten


Ananasdublone 
Fragesteller
 18.09.2019, 13:14

Danke ich gucks mir mal an

1
Ananasdublone 
Fragesteller
 18.09.2019, 13:15

ich wollte die aber ehr mit einer .dll datei machen.

0