2016-09-16 10 views
3

キーボードのエントリ(CTRL PrntSc)をマウスクリック(バッチファイルを起動)で置き換えたいですか?私が送信しSENDKEYコードがあることを知っているが、コードホットキーを入力するバッチファイル:CTRL Printscreen

送信(「^ {}のPrintScreen」)

トリガー右効果を作ることができていません。

AutoITとAutoHotKeyでこれを行うことができますが、上記のことがうまくいくとすればもっと簡単になります。

Press Keyboard keys using a batch file このフォーラムすなわちバッチファイルが最初のプログラムを開き、そこにキーストロークを送信することとで同様の問題を扱ったが、それは複雑に見えると私は単にバッチファイルのホットキーコマンドを送信するためのコードを抽出して指導を必要とします。

https://www.donationcoder.com/forum/index.php?topic=25389.0 NirCMDとAutoIT、AutoHotKeyとMacro Expressの使用を提案しています。私は最後の2つの経験を持っていますが、4つすべてで助けが必要です。

最初のコメント(Daniel Wisehartより) 私はWindows 10を使用していますが、私はPLATFORMクエリに答えることを願っています。私はすでに私のバッチファイルの(無効な)コードを引用しています。エラーメッセージはありません。しかし、マウスカーソルがGreenshot-cross-hairsになるという所望の効果は起こりませんでした。 。 2番目のコメント(Aaciniから) - 訂正していただきありがとうございます。 "^ {Printscreen}"を "^ PRTSC"に置き換えても、必要な違いはありません。マウスカーソルはまだ十字線に変わりません。

私は3回目のコメント(Hackooによる)でサンプルバッチファイルを試しました。これはホットキーからマウスクリックまでの変換では非常に複雑です。それは、 "(指定された行数と列数に画面を設定することはできません。その後、テキストが消えて、少し後にウィンドウが閉じます。 他にそのコード?VB、Visual Basicの、VBS、何かがある何?

+1

あなたはどのプラットフォームで作業していますか?独自のバッチファイルを作成してここに含め、エラーメッセージとともに表示される問題を追加するのが最適です:http://stackoverflow.com/help/mcve –

+1

あなたの最初のリンクの質問で与えられたリンクに応じて、Ctrl-PrintScは ''^PRTSC ''になります... – Aacini

答えて

2

はちょうどこのバッチファイルのために試してみる(-_°)

/* 
@echo off & cls & color 1E 
Mode con Cols=14 lines=1 
::Autor Delmar Grande 
::http://bbat.forumeiro.com/t248-bat-exe-printscreen-usando-vb-net 
::Data Qui 11 Jul 2013 
:: Modified by Hackoo on 09/09/2016 to save image with system date 
title PrintScreen by Delmar Grande and modified by Hackoo 
Rem Just adding a little timeout to organise our screenshot 
Timeout /T 4 /Nobreak>nul 
findstr "'%skip%VB" "%~f0" > "%tmp%\%~n0.vb" 
for /F %%i in ('dir /B /S ^"%WinDir%\Microsoft.NET\Framework\vbc.exe^"') do set "vbc=%%i" 
if /i "%vbc%"=="" cls & color 1c & echo This script needs the framework & pause & Exit 
cls 
%vbc% /nologo /out:"%tmp%\%~n0.exe" "%tmp%\%~n0.vb" 
"%tmp%\%~n0.exe" 
del "%tmp%\%~n0.vb" >NUL 2>&1 
del "%tmp%\%~n0.exe" >NUL 2>&1 
exit 
*/ 
Imports System.Windows.Forms 'VB 
Module ModulePrintscreen 'VB 
    Sub Main() 'VB 
     Dim MaDate As String 'VB 
     SendKeys.SendWait("{%}({PRTSC})") 'VB 
     If My.Computer.Clipboard.ContainsImage() Then 'VB 
      MaDate = Format(Now,"dd-MM-yyyy_hh-mm-ss") 'VB 
      My.Computer.Clipboard.GetImage.Save(MaDate & ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg) 'VB 
     End If 'VB 
    End Sub 'VB 
End Module 'VB 
+1

私は指示を誤解している可能性がありますので、提案に私の返信を編集として投稿しました。返信 –

関連する問題