Vb.net में दाएं कंट्रोल + शिफ्ट भेजने के लिए Sendkey का उपयोग कैसे कर सकते हैं ??
मैंने कोशिश की:
SendKeys.Send("^(shift)")
लेकिन इसने मुझे एक जगह दी।
2 जवाब
कैप्सलॉक को कैसे दबाएं, इसका एक कार्यशील उदाहरण यहां दिया गया है। मुझे लगता है कि आप इसे शिफ्ट + ctrl के लिए समझ पाएंगे:
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Integer, _
ByVal dwExtraInfo As Integer _
)
Private Const VK_CAPITAL As Integer = &H14
Private Const KEYEVENTF_EXTENDEDKEY As Integer = &H1
Private Const KEYEVENTF_KEYUP As Integer = &H2
Private Sub TestKey()
' Toggle CapsLock
' Simulate the Key Press
keybd_event(VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0)
' Simulate the Key Release
keybd_event(VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
End Sub
आपको SendKeys विधि पर दस्तावेज़ देखना चाहिए: https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.devices.keyboard.sendkeys
SHIFT
कुंजी के संबंध में:
किसी कुंजी को SHIFT के साथ संयोजित करने के लिए, कुंजी कोड के आगे + (धन चिह्न) लगा दें।
CTRL
कुंजी के संबंध में:
CTRL के साथ एक कुंजी को संयोजित करने के लिए, कुंजी कोड से पहले ^ (कैरेट) करें।
अब, SendKeys विशेष रूप से दाएं/बाएं SHIFT
या CTRL
भेजने का समर्थन नहीं करता है। इसके बजाय, आपको SendMessage
API का उपयोग करना होगा और Keys.RControlKey
एनम मान भेजना होगा। यहां एक सी # उदाहरण है (आसानी से वीबीएनईटी में परिवर्तित किया जा सकता है):
using System.Runtime.InteropServices;
using System.Diagnostics;
private const int WM_KEYDOWN = 0x100;
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
private void button1_Click(object sender, EventArgs e)
{
Keys key = Keys.RShiftKey;//Right shift key
SendMessage(Process.GetCurrentProcess().MainWindowHandle, WM_KEYDOWN, (int)key, 1);
}
protected override void DefWndProc(ref Message m)
{
if (m.Msg == WM_KEYDOWN)
MessageBox.Show(m.WParam.ToString());
base.DefWndProc(ref m);
}
MSDN फ़ोरम से मूल लिंक: https://social.msdn.microsoft.com/Forums/en-US/dd6406e8-b6bf-4166-82a0- 6d533def38a5/how-to-send-leftright-shift-key?forum=csharpgeneral#5734fe34-407d-4edc-ae41-9b1eaa12bb23-isAnswer
संबंधित सवाल
नए सवाल
vb.net
Visual Basic.NET (VB.NET) एक बहु-प्रतिमान, प्रबंधित, प्रकार-सुरक्षित, ऑब्जेक्ट-उन्मुख कंप्यूटर प्रोग्रामिंग भाषा है। C # और F # के साथ, यह .NET फ्रेमवर्क को लक्षित करने वाली मुख्य भाषाओं में से एक है। VB.NET को Microsoft के Visual Basic 6 (VB6) के विकास के रूप में देखा जा सकता है लेकिन Microsoft .NET फ्रेमवर्क पर लागू किया जा सकता है। VB6, VBA या VBScript प्रश्नों के लिए इस टैग का उपयोग न करें।