mikecat_mixc 2013-08-24 01:55:52

[C] 関数化してfor文を使うべきだったかな… このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

あ a
い i
う u
え e
お o

と入力するコードを書きました。 新しい関数を試すのはいいのですが、ちょっと実装が愚直だったようです…

※siin,j,kはこの後の実装で使います

#define _WIN32_WINNT 0x0500
#include <windows.h>

#define VK_OEM_AUTO 0xF3

int main(void) {
	const char* siin="BCDFGHJKLMNPQRSTVWXYZ";
	const char* boin="AIUEO";
	int i,j,k;
	Sleep(2000);
	for(i=0;boin[i];i++) {
		INPUT inp[14]={};
		inp[0].type=INPUT_KEYBOARD;
		inp[0].ki.wVk=VK_OEM_AUTO;
		inp[1].type=INPUT_KEYBOARD;
		inp[1].ki.wVk=VK_OEM_AUTO;
		inp[1].ki.dwFlags=KEYEVENTF_KEYUP;
		inp[2].type=INPUT_KEYBOARD;
		inp[2].ki.wVk=boin[i];
		inp[3].type=INPUT_KEYBOARD;
		inp[3].ki.wVk=boin[i];
		inp[3].ki.dwFlags=KEYEVENTF_KEYUP;
		inp[4].type=INPUT_KEYBOARD;
		inp[4].ki.wVk=VK_RETURN;
		inp[5].type=INPUT_KEYBOARD;
		inp[5].ki.wVk=VK_RETURN;
		inp[5].ki.dwFlags=KEYEVENTF_KEYUP;
		inp[6].type=INPUT_KEYBOARD;
		inp[6].ki.wVk=VK_OEM_AUTO;
		inp[7].type=INPUT_KEYBOARD;
		inp[7].ki.wVk=VK_OEM_AUTO;
		inp[7].ki.dwFlags=KEYEVENTF_KEYUP;
		inp[8].type=INPUT_KEYBOARD;
		inp[8].ki.wVk=VK_SPACE;
		inp[9].type=INPUT_KEYBOARD;
		inp[9].ki.wVk=VK_SPACE;
		inp[9].ki.dwFlags=KEYEVENTF_KEYUP;
		inp[10].type=INPUT_KEYBOARD;
		inp[10].ki.wVk=boin[i];
		inp[11].type=INPUT_KEYBOARD;
		inp[11].ki.wVk=boin[i];
		inp[11].ki.dwFlags=KEYEVENTF_KEYUP;
		inp[12].type=INPUT_KEYBOARD;
		inp[12].ki.wVk=VK_RETURN;
		inp[13].type=INPUT_KEYBOARD;
		inp[13].ki.wVk=VK_RETURN;
		inp[13].ki.dwFlags=KEYEVENTF_KEYUP;
		SendInput(14,inp,sizeof(INPUT));
	}
	return 0;
}

コメント(3)

#1 Test08784483 2013-09-01 08:10:34  

ググってコピペしてるとよくこういうことになる。そのままリリースはないけど

#2 crayonmarch 2014-04-13 07:25:08  

何の為にfor文使っているのかが一番理解不能かな。それと基本的にmain関数の中に処理を書くのは勉強の範囲だけにしたほうが良いかと、実務では出来る限りやらないほうが良いです。

#3 crayonmarch 2014-04-13 07:35:11  

for文追加で代入一発でOKと言いたいところだが、よく見たら各要素数毎に整合性が取れていないな。 これは単にコピペミスなのか、番号ごとに微妙に違うデータを入れたいのかどちらなのかな? それにしても、代入数すら一致していないので、要素数毎に初期化されていない地雷原が埋もれていますね。


このウンコードに臭った人は、こちらのウンコードにも臭ってます

[C] おまじないのおぼえかた

このエントリーをはてなブックマークに追加

ウンコードの趣旨とは完全に違いますが、自...

#include <stdio.h>
/* studioではなく、stdio。...

鑑賞する »