windowsプログラムでメモ帳から任意の文字列を
取り出すプログラムを作りたいのですがどのようにしたら良いですか?
書いているサイトなどがあれば教えてください。
答え:
メモ帳が1つだけならこれで動くはず。
参考URLはVBのものですが、基本はCでも同じです。
----
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main() {
// "メモ帳" のトップレベルウィンドウを探す
HWND hApp = FindWindow("Notepad", NULL);
// そのウィンドウの子孫から、"Edit"クラスのウィンドウを探す
HWND hEdit = FindWindowEx(hApp, NULL, "Edit", NULL);
// "Edit"クラスのウィンドウが持つテキストの長さを取得
long l = SendMessage(hEdit, WM_GETTEXTLENGTH, NULL, NULL);
// テキスト格納用のメモリをアロケート(最後のNULL終端分、1バイト多めに確保)
char *p = (char *) calloc(l+1, 1);
// "Edit"クラスのウィンドウからメモリにテキストを取得
SendMessage(hEdit, WM_GETTEXT, l+1, (LPARAM)p);
printf(">>%s\n", p);
getchar();
}
他は答える:
この質問・回答は役に立ちましたか?
ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.