私はバッチプログラミングにはまったく新しいので、特別なマウスボタンがクリックされたときに検出する方法があるのだろうかと思っていました。余分なマウスボタンのクリックをバッチで検出する
-1
A
答えて
0
c#に慣れている場合、マウス入力とパイプ入力をバッチに検出するプログラムをビルドすることができます。つまり、getinput.exe | mybatch.cmd
です。それは自明なことではありませんが、あなたはどのように達成できるかを知ることができます(ここではpowershellで)Tetris game in a pure Batch fileAacini。
フルmouse batch menu
テストhereをダウンロードできます。 input
とoutput
はc
に扱われますが、メイン処理は純粋なbatch
です。
次のコードは、存在しない場合はc# executable
を作成するバッチヒブリッドです。 c# code
を必要に応じて複雑に構築できますが、問題は2つのグラブcmd's window input
であり、バッチファイルで処理します。あなたが自分でそれを行うことを試みたもの
//>nul 2>nul||@goto :batch_code
/*
:batch_code
@echo off
setlocal
if not exist "%~n0.exe" call :build_the_exe || exit/B
%~n0.exe
endlocal
exit /b 0
:build_the_exe
:: find csc.exe
set "frm=%SystemRoot%\Microsoft.NET\Framework\"
for /f "tokens=* delims=" %%v in ('dir /b /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
set netver=%%v
goto :break_loop
)
:break_loop
set "csc=%frm%%netver%\csc.exe"
:: csc not found
if "%csc%" == "\csc.exe" echo/&echo/Warning: Net Framework Not Found&exit/B 1
::csc found
call %csc% /nologo /out:"%~n0.exe" "%~dpsfnx0"
exit/B 0
*/
//begin c# code
public class HelloWorld
{
public static void Main()
{
System.Console.WriteLine("Hello, C# World!");
}
}
別の例
//>nul 2>nul||@goto :batch_code
/*
:batch_code
@echo off
setlocal
if not exist "keyTime.exe" call :build_the_exe || exit/B
:: use the newly created exe
<NUL set/p="Press a key (wait 5 seconds) "
keyTime.exe /W 5000
endlocal
exit /b 0
:build_the_exe
:: find csc.exe
set "frm=%SystemRoot%\Microsoft.NET\Framework\"
for /f "tokens=* delims=" %%v in ('dir /b /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
set netver=%%v
goto :break_loop
)
:break_loop
set "csc=%frm%%netver%\csc.exe"
:: csc not found
if "%csc%" == "\csc.exe" echo/&echo/Warning: Net Framework Not Found&exit/B 1
::csc found
call %csc% /nologo /out:"keyTime.exe" "%~dpsfnx0"
exit/B 0
*/
//begin c# code
using System;
namespace ElZooilogico
{
public static class choice
{
// readkey with timeout
private static void ReadKeyTimeout(int msecs, char theChar)
{
theChar = '\0';
ConsoleKeyInfo cfi;
ReadKeyDelegate d = Console.ReadKey;
IAsyncResult result = d.BeginInvoke(null, null);
result.AsyncWaitHandle.WaitOne(msecs);
if (result.IsCompleted)
{
cfi = d.EndInvoke(result);
theChar = cfi.KeyChar;
}
}
delegate ConsoleKeyInfo ReadKeyDelegate();
// readkey with timeout
[STAThread]
public static int Main(string[] args)
{
char myChar='\0'; int wait = 10000;
for (int i = 0; i < args.Length; i++)
{
if (args[i].Equals("/W", StringComparison.OrdinalIgnoreCase)) { wait = Int32.Parse(args[i + 1]); }
}
ReadKeyTimeout(wait, myChar);
Console.Write(myChar);
return 0;
}
} // class miClass
} // namespace ElZooilogico
関連する問題
- 1. 角4余分なパラメータで$イベントをクリック
- 2. C:printfの余分な出力
- 3. TDbGridのガター(左余白)のクリックを検出しますか?
- 4. Pythonロギング - 余分な出力?
- 5. WinFormsイベントでマウスボタンをクリックするとどうなりますか?
- 6. キーボード入力をバッチで検出する
- 7. マウスボタンを押した場合、WinFormを検出する場合#
- 8. この "余分な"余分な原因は何ですか?
- 9. オーダーライン[prdocutフィールド]で余分な検索を追加するには?
- 10. Tensorflowのバッチ処理で、余分な次元がない場合は?
- 11. Gtk/GtkDウィンドウ上のマウスボタンのリリースを検出しますか?
- 12. redis出力の余分なスラッシュ
- 13. ループ後の余分な出力
- 14. 余分な引数の呼び出し
- 15. テキストファイルへの余分な出力
- 16. フォーム提出後の余分な文字
- 17. どのようにjavascriptで右マウスボタンのリリースイベントを検出するには?
- 18. 外側のクリックを検出する角の部分
- 19. 角がクリックされたリンクに余分な値をつける
- 20. 余分なスペースで余分な要素を選択するボックス(HTML/JS/CSS/Angular.js)
- 21. 余分なフィールドを使ってsymfony2フォームを検証する
- 22. 出力ファイルに余分なゼロ
- 23. ASP.NET MVC4 HtmlHelper余分な不要なマークアップを出力する
- 24. Tensorflowオブジェクトの検出:バッチでの検出方法
- 25. PHP出力文字列の余分なコンマを削除する
- 26. 検証し、JavaでXMLで余分な終了タグを削除
- 27. @ManyToMany Hibernateの余分なテーブルに余分なフィールドを追加できますか?
- 28. QListViewがマウスボタンをクリックしました
- 29. 余分なフィールドでの春のフォーム検証
- 30. 余分なコンマ
?あなたの努力を示してください、私たちはあなたを助けることができます。あなたは 'google'と呼ばれる素敵なツールを使い始めることができます。 – elzooilogico
@elzooilogico No.私はバッチプログラミングに関する知識がほとんどありません。私は単純な場合に限り、学んだだけです。私はC#の人ですが、インターネット上の誰もマウスフックのチュートリアルはありません。だから私は立ち往生している。 –