レジストリに値を入れるには?

解決


初心者見習い  2003-08-21 20:40:47  No: 51964  IP: [192.*.*.*]

はじめまして。初心者見習いです。何か知恵をお借りできないかと書き込みさせていただきました。
作っているのはレジストリに値を入れると言う非常に単純なプログラムなのですが、ビルドすると必ず「外部シンボル"_main"が未解決です」と言うエラーが出てしまいます。
ネットで調べたサンプルを適当にいじって作ったものなので、そこでのリンクが混じったのかもしれませんが、自分ではどこにそれがあるのかわかりません。ご教示いただければ幸いです。
ソースは

#include  <windows.h>
#include  <stdio.h>

//マクロ設定

#define    C_REGKEY_IDLE      "レジストリのキー"
#define    C_REGDATA_READY      "レジストリに入れたい値"

// 関数の定義

void winmain (char *result)
{
  HKEY  hKey;
  DWORD dwSize;

//  レジストリに揮発性のキーを作成する
  RegCreateKeyEx( 
    HKEY_LOCAL_MACHINE, 
    C_REGKEY_IDLE, 
    0, 
    NULL,
    REG_OPTION_VOLATILE, 
    KEY_WRITE, 
    NULL, 
    &hKey, 
    &dwSize);

//  作成したキーに値をセットする
  RegSetValueEx( 
    hKey, 
    C_REGDATA_READY, 
    0, 
    REG_SZ, 
    result, 
    (strlen( result ) + 1));

//  レジストリをクローズする
  RegCloseKey( hKey );

  return;
}

です。なにとぞよろしくお願いします。

編集 削除
YuO  2003-08-21 20:54:26  No: 51965  IP: [192.*.*.*]

レジストリとはまったく関係ない話ですな。

Win32 Console Applicationとして作ったのであれば,
プログラムのエントリポイントとして,
int main (void);
または
int main (int, char **);
という関数が必要です。

また,Win32 Applicationとして作ったのであれば,
プログラムのエントリポイントとして,
int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int);
という関数が必要です。

エラーから考えるに,Win32 Console Applicationとして作られているようなので,
前者が必要になります。

編集 削除
初心者見習い  2003-08-22 21:46:30  No: 51966  IP: [192.*.*.*]

YuOさん、ありがとうございました。解決いたしました。
それとはまた別に問題は出ているのですが、そちらはそちらで投稿いたします。

編集 削除