|
You last visited: Today at 15:42
Advertisement
[C#]PostMessage problem.
Discussion on [C#]PostMessage problem. within the .NET Languages forum part of the Coders Den category.
01/16/2014, 15:30
|
#1
|
elite*gold: 0
Join Date: Jan 2014
Posts: 31
Received Thanks: 14
|
[C#]PostMessage problem.
Ich bin gerade dabei einen kleinen Bot für ein Spiel (DirectX App) zu schreiben.
Code:
[DllImport("user32", EntryPoint = "PostMessageA", CharSet = CharSet.Ansi, SetLastError = true,
ExactSpelling = true)]
public static extern int PostMessage(IntPtr hwnd, uint wMsg, int wParam, int lParam);
[DllImport("kernel32.dll")]
static extern uint GetLastError();
public static Process[] processes = Process.GetProcessesByName("game.bin");
public static void PressKey()
{
PostMessage(processes[0].MainWindowHandle, 0x0100, (int)Keys.Tab, 0);
PostMessage(processes[0].MainWindowHandle, 0x0101, (int)Keys.Tab, 0);
PostMessage(processes[0].MainWindowHandle, 0x0100, (int)Keys.D1, 0);
PostMessage(processes[0].MainWindowHandle, 0x0101, (int)Keys.D1, 0);
}
Der Bot sollte eigentlich Tab und danach 1 klicken, jedoch tut er das nicht.
Könnte mir einer weiterhelfen?
|
|
|
01/16/2014, 16:32
|
#2
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
|
|
|
01/16/2014, 17:10
|
#3
|
elite*gold: 0
Join Date: Jan 2014
Posts: 31
Received Thanks: 14
|
Funktioniert immernoch nicht mit dem InputManager.
Der Skill der auf der Taste 1 liegt wird nicht gedrückt, aber in der Chatbox vom Spiel tippt er 1 ein.
Code:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using InputManager;
namespace AuraKBotCSharp
{
public class PxlKey
{
[DllImport("user32", EntryPoint = "PostMessageA", CharSet = CharSet.Ansi, SetLastError = true,
ExactSpelling = true)]
public static extern int PostMessage(IntPtr hwnd, uint wMsg, int wParam, int lParam);
[DllImport("kernel32.dll")]
static extern uint GetLastError();
public static Process[] processes = Process.GetProcessesByName("game.bin");
public static void PressKey()
{
// PostMessage(processes[0].MainWindowHandle, 0x0100, (int)Keys.Tab, 0);
// PostMessage(processes[0].MainWindowHandle, 0x0101, (int)Keys.Tab, 0);
// PostMessage(processes[0].MainWindowHandle, 0x0100, (int)Keys.D1, 0);
// PostMessage(processes[0].MainWindowHandle, 0x0101, (int)Keys.D1, 0);
Keyboard.KeyDown(Keys.D1);
Keyboard.KeyUp(Keys.D1);
}
}
}
|
|
|
01/16/2014, 17:15
|
#4
|
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
|
ohne zu wissen für welches game kann man dir schlecht helfen,
|
|
|
01/16/2014, 17:16
|
#5
|
elite*gold: 0
Join Date: Jan 2014
Posts: 31
Received Thanks: 14
|
Quote:
Originally Posted by Crossside
ohne zu wissen für welches game kann man dir schlecht helfen,
|
Aura Kingdom Online
|
|
|
01/16/2014, 17:44
|
#6
|
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
|
Hmm.. Kenne ich nicht das Spiel, leider noch nicht gezockt.
Musst du am besten schauen ob es eventuell mit keybd_event() klappt - manche Spiele haben einen Fokus auf bestimmte Elemente (wie chat zb), sollte das hier der Fall sein musst du schauen wie du es am besten lösen kannst.
Glaube das einfachste wäre du hookst die funktion die für die auren zuständig ist und rufst die funktion direkt auf, ohne den umweg zu gehen das ganze per simulierten tastendruck zu lösen. So müsstest du auch nicht ständig das Spiel im Vordergrund haben für das ganze.
|
|
|
01/16/2014, 18:05
|
#7
|
elite*gold: 0
Join Date: Jan 2014
Posts: 31
Received Thanks: 14
|
Hat alles nicht geholfen.
|
|
|
 |
Similar Threads
|
PostMessage UDF
06/27/2017 - AutoIt - 48 Replies
Benötigt wird mindestens AutoIt v3.3.8.1.
Die UDF beinhaltet 9 Funktionen:
_PostMessage_Send($hWnd, $Key, $Delay = 10)
_PostMessage_SendDown($hWnd, $Key, $Delay = 10)
_PostMessage_SendUp($hWnd, $Key, $Delay = 10)
_PostMessage_Click($hWnd, $X = -1, $Y = -1, $Button = "left", $Clicks = 1, $Delay = 10)
_PostMessage_ClickDown($hWnd, $X = -1, $Y = -1, $Button = "left")
_PostMessage_ClickUp($hWnd, $X = -1, $Y = -1, $Button = "left")
_PostMessage_ClickDrag($hWnd, $X1, $Y1, $X2, $Y2, $Button...
|
Problem mit PostMessage
03/04/2011 - AutoIt - 8 Replies
Hallo,
Also kurzum, ich will Tasten an ein inaktives Fenster senden.
z.b. die {TAB} taste.
Dies funktioniert auch, wenn das Fenster aktiv ist.
_WinAPI_PostMessage($hWnd, 0x100, $TAB, 0x0)
|
[c++]postmessage problem
07/03/2010 - C/C++ - 7 Replies
hi ich hab wieder mal ein problem
ich versuche mit c++ einen bot zu schreiben
und möchte einen tastendruck zum gewünschten fenster senden (nostale) mit postmessage
aber wie??
ich habs mal so probiert
#include <iostream>
#include <windows.h>
|
All times are GMT +1. The time now is 15:42.
|
|