我对MFC了解不多,请各位高手指点下,先谢谢了……

解决方案 »

  1.   

    GetPrivateProfileString()得到内容。然后写入notepad中。
    TCHAR buf[XXXX] = {0};
    GetPrivateProfileString(...,buf,...);
    HWND hWnd = ::FindWindow(_T("Notepad"), NULL);
    if(hWnd)
    {
    HWND hEdit = ::FindWindowEx(hWnd, NULL, _T("Edit"), NULL);
    if(hEdit)
    {
    ::SendMessage(hEdit, WM_SETTEXT, 0, (LPARAM)buf);
    }
    }
      

  2.   

    谢谢 VisualEleven(Eleven[兔子党组织部长]),但是我还忘说了一点,就是在写入字符时要给写入进程加一个延时让人看到字符一个一个写入的效果,能实现不?给点提示哈
      

  3.   

    CString section;
    CString filepath;
    TCHAR buf[1000]; filepath=CIniTestDlg::m_filepath ;
    int sum=::GetPrivateProfileInt(TEXT("RecordSum"), //取section的数目
                                  TEXT("sum"), 
                                  NULL, 
      TEXT(filepath));
    for(int i=0;i<sum;i++)
    {
    section.Format( "Info%d",i);//要获取的section
    ::GetPrivateProfileString(section, 
                                  TEXT("code"), 
                                  TEXT("Not Exit this Key!"), 
      buf,
      sizeof(buf),
      TEXT(filepath)); HWND hWnd = ::FindWindow(_T("Notepad"), NULL);
            if(hWnd)
    {
                HWND hEdit = ::FindWindowEx(hWnd, NULL, _T("Edit"), NULL);
                if(hEdit)
    {
                    ::SendMessage(hEdit, WM_SETTEXT, 0, (LPARAM)buf);
    }
    }
    我把你的代码加到我的程序中了,但是每次取出的section内容都把上一个section的内容覆盖了,请问怎么才不然内容覆盖?
    还有如果我打开了多个记事本,怎么确定我要写入的记事本呢?或者如果我把字符写在另一个程序(如另外的MFC程序)呢?是不是需要获取这个程序的进程ID之类的?请各位指点一二谢谢啦
      

  4.   

    UINT __cdecl ThreadProc(LPVOID lParam)
    {
    TCHAR buf[] = _T("Hello, World!");
    HWND hWnd = ::FindWindow(_T("Notepad"), NULL);
    if(hWnd)
    {
    HWND hEdit = ::FindWindowEx(hWnd, NULL, _T("Edit"), NULL);
    if(hEdit)
    {
    TCHAR szText[2] = {0};
    for(size_t i=0; i<_tcslen(buf); i++)
    {
    szText[0] = buf[i];
    int nLen = ::SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0) + 1;
    ::SendMessage(hEdit, EM_SETSEL, nLen, nLen);
    ::SendMessage(hEdit, EM_REPLACESEL, (WPARAM)TRUE, (LPARAM)szText);
    Sleep(500);
    }
    }
    }
    return 0;
    }
      

  5.   

    HWND hWnd = ::FindWindow(_T("Notepad"), NULL);
    ::GetWindowText(hWnd,buf,MAX_PATH);
    if(strcmp(buf,"MyWnd.txt") == 0)
    {
        MessageBox("这是我要发送消息的窗口");
    }
    else
    {
        MessageBox("这不是我要关心的窗口");
    }
      

  6.   

    灰常感谢 VisualEleven(Eleven[兔子党组织部长]),问题已解决