не работат GetWindowText
От: narik1985  
Дата: 22.09.09 23:03
Оценка:
// AnaliseCircuit.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "AnaliseCircuit.h"
#include "winbase.h"
#define AnliseCircuitMain WinMain
#define MAX_LOADSTRING 100

// Global Variables:
HINSTANCE hInst;                     // current instance
TCHAR szTitle[MAX_LOADSTRING];       // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name

// Forward declarations of functions included in this code module:
ATOM             MyRegisterClass(HINSTANCE hInstance);
BOOL             InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);

LPTSTR *lpsz;

HWND    hWnd;

int WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
)
{
    MSG         msg;
    WNDCLASSEX  wc;

    static LPCTSTR lpszAppName = (LPCTSTR)L"123";
    wc.style         = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc   = (WNDPROC)WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hInstance;
    wc.hIcon         = LoadIcon(hInstance, lpszAppName);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_MENU+10);
    wc.lpszMenuName  = lpszAppName;
    wc.lpszClassName = lpszAppName;
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.hIconSm       = NULL;

    if ( RegisterClassEx( &wc ) == 0 ) {return 3;}


    /*окно без заголовка*/
    hWnd = CreateWindow(lpszAppName,(LPCTSTR)L"test_module",WS_OVERLAPPEDWINDOW,0,0,450,450,NULL,NULL,hInstance,NULL);            
    if ( hWnd == NULL )
        return( FALSE );
    ShowWindow( hWnd, SW_SHOW );
    int size_of_byte;
    LPWSTR lpString;
    lpString = L"Word.Application";
    size_of_byte = GetWindowText(hWnd,lpString,GetWindowTextLength(hWnd));

    while( GetMessage( &msg, NULL, 0, 0) )
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return( msg.wParam );
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message) 
    {
    case WM_CREATE:
        break;
    case WM_DESTROY:
        delete lpsz;
         PostQuitMessage(0);
        break;

    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
   }
   return 0;
}


вызов size_of_byte = GetWindowText(hWnd,lpString,GetWindowTextLength(hWnd));
дает 0, если мы вызываем потом GetLastError() выдает 1400 ошибка хэндела, в чем я не прав?

добавил разметку и исправил табуляцию — Кодт
23.09.09 13:45: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.