Beispiel #1
0
void CHelperSystem::GotoAnchorHelp(const STRING& strAnchor)
{
    //-------------------------------
    //寻找目标窗口
    HWND hCmdWnd = ::FindWindow(0, m_strCmdWnd.c_str());
    if(!hCmdWnd)
    {
        CreateHelperProcess(strAnchor);
        return;
    }

    //-------------------------------
    //向目标窗口发送命令
    typedef struct
    {
        unsigned char	cCmdType;
        unsigned char	cReserve1;
        unsigned char	cReserve2;
        unsigned char	cReserve3;
        char			pContents[MAX_PATH];
    } HELPER_COMMAND, FAR *LPHELPER_COMMAND;

    static  HELPER_COMMAND cmd;
    ZeroMemory(&cmd, sizeof(HELPER_COMMAND));
    _snprintf(cmd.pContents, MAX_PATH, "%s", strAnchor.c_str());

    static COPYDATASTRUCT   cCopyData;
    ZeroMemory(&cCopyData, sizeof(COPYDATASTRUCT));

    cCopyData.dwData = 0;
    cCopyData.cbData = sizeof(unsigned char)*4 + (DWORD)strlen(cmd.pContents) + 1;
    cCopyData.lpData = &cmd;

    SendMessage(hCmdWnd, WM_COPYDATA, 0, (LPARAM)&cCopyData);
}
Beispiel #2
0
static VOID ExecHelper(PWSTR FileName, ULONG Timeout, PHANDLE PProcess)
{
    NTSTATUS Result;

    Result = ExtractHelperProgram(FileName);
    ASSERT(NT_SUCCESS(Result));

    Result = CreateHelperProcess(FileName, Timeout, PProcess);
    ASSERT(NT_SUCCESS(Result));
}
Beispiel #3
0
void CHelperSystem::GotoAnchorHelp()
{
    char strTmp[MAX_PATH];
    UINT WorldID=CGameProcedure::s_pVariableSystem->GetAs_Int("WorldID");
    if(WorldID==0) //出错
        return;
    _snprintf(strTmp,MAX_PATH, "WorldID%u", CGameProcedure::s_pVariableSystem->GetAs_Int("WorldID"));
    //-------------------------------
    //寻找目标窗口
    HWND hCmdWnd = ::FindWindow(0, m_strCmdWnd.c_str());
    if(!hCmdWnd)
    {
        CreateHelperProcess(strTmp);
        return;
    }

    //-------------------------------
    //向目标窗口发送命令
    typedef struct
    {
        unsigned char	cCmdType;
        unsigned char	cReserve1;
        unsigned char	cReserve2;
        unsigned char	cReserve3;
        char			pContents[MAX_PATH];
    } HELPER_COMMAND, FAR *LPHELPER_COMMAND;

    static  HELPER_COMMAND cmd;
    ZeroMemory(&cmd, sizeof(HELPER_COMMAND));
    _snprintf(cmd.pContents, MAX_PATH, "%s", strTmp);

    static COPYDATASTRUCT   cCopyData;
    ZeroMemory(&cCopyData, sizeof(COPYDATASTRUCT));

    cCopyData.dwData = 0;
    cCopyData.cbData = sizeof(unsigned char)*4 + (DWORD)strlen(cmd.pContents) + 1;
    cCopyData.lpData = &cmd;

    SendMessage(hCmdWnd, WM_COPYDATA, 0, (LPARAM)&cCopyData);
}