2010-08-07 38 views
16

Tôi đang cố gắng gửi CTRLA (chọn tất cả ứng dụng trong từ trường hợp này nhưng thử vì tôi có thể không hoạt động) nhưng tất cả không có kết quả, bất kỳ ý tưởng nào?SendKeys Ctrl-A không hoạt động

 IntPtr appHandle = FindWindow(null, "Document1 - Microsoft Word"); 
     if (appHandle == IntPtr.Zero) 
     { 
      MessageBox.Show("Specified app is not running."); 
      return; 
     } 

     SetForegroundWindow(appHandle); 
     System.Threading.Thread.Sleep(500); 

     //SendKeys.SendWait("111"); 
     SendKeys.SendWait("^A"); 
     //SendKeys.SendWait("^(A)"); //ctrl a 
     //SendKeys.SendWait("(^A)"); 

Trả lời

4

Bạn có thử

SendKeys.SendWait("^{A}"); 
+0

cố này và điều này không hoạt động. Đã thử sử dụng tổ hợp phím alt và chúng không hoạt động cho tôi ... – ALI

4

SendKeys được trường hợp nhạy cảm. Hãy thử điều này:

SendKeys.Send("^a"); 

Tôi không chắc chắn, nhưng nó có vẻ như

SendKeys.Send("^A"); 

nghĩa Ctrl +phím Shift +Một. Ít nhất nó hoạt động theo cách này trong một số ứng dụng.

+0

Mã Shift là +, vì vậy nếu bạn muốn vốn A bạn sẽ phải làm ("+^a") – Dman

13

Tôi có cùng một vấn đề Tôi muốn chọn văn bản điều khiển văn bản đầu vào

Sendkeys.SendWait ("^ A") không hoạt động cũng không Sendkeys.SendWait "^ A" doessn't làm việc

Sendkeys.SendWait ("^ a") hoạt động ok

để biết thêm: http://www.autoitscript.com/autoit3/docs/functions/Send.htm

hth

+0

Sendkeys.SendWait ("^a ") công trình này – anshulkatta

37

Để chỉ định rằng bất kỳ kết hợp nào của SHIFT, CTRLALT phải được giữ trong khi một số phím khác được nhấn, kèm theo mã cho các khóa đó trong dấu ngoặc đơn. Ví dụ: để chỉ định giữ SHIFT trong khi EC được nhấn, sử dụng +(EC). Để xác định để giữ SHIFT khi E được nhấn, tiếp theo là C mà không SHIFT, sử dụng +EC.

trả lời là:

SendKeys.Send("^(a)"); 
+1

Điều này thực sự là câu trả lời tốt nhất ... không may rằng OP đã không chọn một. – NotCoffeeTable

+0

Đó không phải là câu trả lời, nó nêu rõ rằng nếu chỉ có một phím là cần thiết bởi phím điều khiển, không cần phải có các dấu ngoặc đơn. – EliSherer