-
Автор темы
- #1
Доброй ночи.
Почему не работает, ни PostMessage, ни SendMessage для BlueStacks?
Пытался, как в .exe формате через консоль, так и через .dll.
Код прилагается ниже:
Почему не работает, ни PostMessage, ни SendMessage для BlueStacks?
Пытался, как в .exe формате через консоль, так и через .dll.
Код прилагается ниже:
HWND get_hwnd = FindWindow(0, "BlueStacks App Player");
if (!get_hwnd) {
cout << "error opene bluestacks!" << endl;
exit(0);
}
HWND test = FindWindowEx(get_hwnd, 0, NULL, NULL);
if (!test) {
cout << "error edit!" << endl;
exit(0);
}
cout << "HWNDS: " << get_hwnd << endl;
cout << "Edit: " << test << endl;
for (int i = 0; i < 20; i++) {
PostMessage(test, WM_CHAR, 's', 0);
}
if (!get_hwnd) {
cout << "error opene bluestacks!" << endl;
exit(0);
}
HWND test = FindWindowEx(get_hwnd, 0, NULL, NULL);
if (!test) {
cout << "error edit!" << endl;
exit(0);
}
cout << "HWNDS: " << get_hwnd << endl;
cout << "Edit: " << test << endl;
for (int i = 0; i < 20; i++) {
PostMessage(test, WM_CHAR, 's', 0);
}
#include "pch.h"
#include <iostream>
#include <windows.h>
using namespace std;
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
HWND window = FindWindow(0, L"BlueStacks App Player");
if (!window) {
MessageBox(0, L"window error", 0, 0);
}
HWND edit = FindWindowEx(window, NULL, NULL, NULL);
if (!edit) {
MessageBox(0, L"edit error", 0, 0);
}
PostMessage(edit, WM_CHAR, 's', 0);
}
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
#include <iostream>
#include <windows.h>
using namespace std;
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
HWND window = FindWindow(0, L"BlueStacks App Player");
if (!window) {
MessageBox(0, L"window error", 0, 0);
}
HWND edit = FindWindowEx(window, NULL, NULL, NULL);
if (!edit) {
MessageBox(0, L"edit error", 0, 0);
}
PostMessage(edit, WM_CHAR, 's', 0);
}
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}