banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Xin các anh em ra tay tương trợ - Process  XML
  [Programming]   Xin các anh em ra tay tương trợ - Process 14/07/2006 23:21:26 (+0700) | #1 | 6663
[Avatar]
pntminh
Member

[Minus]    0    [Plus]
Joined: 02/07/2006 16:31:15
Messages: 2
Offline
[Profile] [PM]
Xin hỏi có cái chương trình nào can thiệp vào process của Windows có thể gởi một sự kiện như Mouse_move, mouse_up, key_up... vào cái process nào đó đang runtime không? hay mã lệnh VC, VB, delphi gì gì cũng được
Cảm ơn trước nhe! :lol: :lol: :lol:
[Up] [Print Copy]
  [Question]   Xin các anh em ra tay tương trợ - Process 15/07/2006 00:05:14 (+0700) | #2 | 6697
[Avatar]
ngoalong
HVA Friend

Joined: 22/03/2003 04:33:38
Messages: 111
Offline
[Profile] [PM]
Dùng hàm API SendMessage() hoặc PostMessage() khi đã biết tham số handle của một cửa sổ Windows muốn gửi sự kiện đó đến. Xem chi tiết hàm và cách sử dụng trong MSDN. Tôi đang không cài MSDN nên không thể đưa mã ví dụ cho bạn được. Chịu khó nhé, sẽ tiến bộ nhanh hơn.
[Up] [Print Copy]
  [Question]   Xin các anh em ra tay tương trợ - Process 15/07/2006 02:28:13 (+0700) | #3 | 6765
[Avatar]
Z0rr0
Q+WRtaW5pc3RyYXRvc+g

Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
[Profile] [PM] [WWW] [Yahoo!]

pntminh wrote:
Xin hỏi có cái chương trình nào can thiệp vào process của Windows có thể gởi một sự kiện như Mouse_move, mouse_up, key_up... vào cái process nào đó đang runtime không? hay mã lệnh VC, VB, delphi gì gì cũng được
Cảm ơn trước nhe! :lol: :lol: :lol:  


Mỗi ứng dụng trong Windows đều có 1 hàng đợi thông điệp (message queue) để nhận các Windows message do Windows tiếp nhận từ người dùng gửi đến và chuyển và queue này. Trên lý thuyết, bạn hoàn toàn có thể gửi các message mong muốn vào hàng đợi của 1 ứng dụng bất kì. Tuy nhiên lưu ý rắng các message đều có mục đích cụ thể và những thông tin kèm theo thích hợp tuỳ thuộc vào mỗi loại window/control. Do đó, để message của bạn đến đúng địa chỉ (1 control/window nào đó trong 1 process) thì bạn cần biết window handle của control đó trước.
Hibernating
[Up] [Print Copy]
  [Question]   Re: Xin các anh em ra tay tương trợ - Process 18/07/2006 01:38:49 (+0700) | #4 | 7473
[Avatar]
pntminh
Member

[Minus]    0    [Plus]
Joined: 02/07/2006 16:31:15
Messages: 2
Offline
[Profile] [PM]
Vậy tiện thể, xin các huynh đệ chỉ dùm cách liệt kê handle của các process đang chạy trong bộ nhớ
[Up] [Print Copy]
  [Question]   Re: Xin các anh em ra tay tương trợ - Process 18/07/2006 01:46:58 (+0700) | #5 | 7476
[Avatar]
Z0rr0
Q+WRtaW5pc3RyYXRvc+g

Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
[Profile] [PM] [WWW] [Yahoo!]

pntminh wrote:
Vậy tiện thể, xin các huynh đệ chỉ dùm cách liệt kê handle của các process đang chạy trong bộ nhớ 


Bạn có thể dùm API EnumProcess để lấy danh sách các Process ID (PID) đang chạy. Xem code ví dụ sau trong MSDN:
Code:
// Get the list of process identifiers.

    DWORD aProcesses[1024], cbNeeded, cProcesses;

    if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
        return;


Mảng các giá trị PID 1024 trên là hard-coded. Bạn có thể thay bằng một danh sách động. Lưu ý rằng danh sách PID trên bao gồm cả 16-bit process, 32 và 64 bit.
Các API khác bạn cần tham khảo để lấy thông tin về process: EnumProcessModules, GetModuleBaseName, GetModuleFileName, CreateToolhelp32Snapshot...
Hibernating
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|