理画面\ipmsav.cpp(23) : error C2061: 構文エラー : 識別子 'NOTIFYICONDATA' がシンタックスエラ
ーを起こしました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(26) : error C2501: 'NOTIFYICONDATA' : 識別名を宣言するのに、型が指定されていませ
ん。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(26) : error C2239: 無効なトークン 'identifier' が 'NOTIFYICONDATA' の宣言の後にあら
われました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(26) : error C2061: 構文エラー : 識別子 'g_nid' がシンタックスエラーを起こしました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(73) : error C2065: 'g_nid' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(88) : error C2065: 'Shell_NotifyIcon' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(88) : error C2065: 'NIM_DELETE' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(445) : error C2061: 構文エラー : 識別子 'NOTIFYICONDATA' がシンタックスエラーを起こしました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(447) : error C2065: 'nid' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(447) : error C2227: '->szTip' : 左側がクラス、構造体、共用体へのポインタではありません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(447) : error C2065: 'lpszTitle' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(448) : error C2227: '->cbSize' : 左側がクラス、構造体、共用体へのポインタではありませ
ん。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(449) : error C2227: '->hIcon' : 左側がクラス、構造体、共用体へのポインタではありません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(449) : error C2065: 'nIconID' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(450) : error C2227: '->hWnd' : 左側がクラス、構造体、共用体へのポインタではありません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(451) : error C2227: '->uCallbackMessage' : 左側がクラス、構造体、共用体へのポインタでは
ありません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(452) : error C2227: '->uFlags' : 左側がクラス、構造体、共用体へのポインタではありませ
ん。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(452) : error C2065: 'NIF_MESSAGE' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(452) : error C2065: 'NIF_ICON' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(452) : error C2065: 'NIF_TIP' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(453) : error C2065: 'NIM_ADD' : 定義されていない識別子です。
cl.exe の実行エラー
と言ったエラーが出ます。
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>
#include <stdio.h>
#include <windowsx.h>
#include resource.h
#pragma comment(lib,ws2_32.lib)
#pragma comment(lib, wsock32.lib)
//クラス名定義
#define CLASS_NAME Exp_Shell_NotifyIcon
#define WM_ICON_CLICK WM_USER + 999
#define MY_MSG (WM_USER + 1) //自前のメッセージ
//プロトタイプ宣言
LRESULT CALLBACK WinProc( HWND, UINT, WPARAM, LPARAM );
BOOL ShowPopup( HWND );
BOOL SetTasktrayIcon( HINSTANCE, HWND, NOTIFYICONDATA *, LPCTSTR, const int );
/////////////////////////以下命令文/////////////////////
と言った感じで最初の方宣言してあるのですが、#define WIN32_LEAN_AND_MEANで引っ掛かっ
てNOTIFYICONDATAに関する命令文が全て定義されてないといわれてしまいます。
コメントにしてWINSOCK2からWINSOCKにしたら動いたのですがそれだと非同期モードが作動して
しまいます。
これはどのようにしたら全て上手くいくのでしょうか?
環境はWIN2000、VC++5.0 MFC未使用
#include <shellapi.h>で
必要なヘッダが上記のソースにはありませんが
stdafx.h等に入っていますでしょうか
Sugi様返答有難うございます。
そう思ってstdafx.hを追加してみたんですが、やはり追加した状態でエラーになってしまいま
した。
ヘッダーファイルにもエラーとかも出たりと良くわからなくなってしまいまして・・・。
上の方にインクルードがあるのでそれを試してみてからの方がいいですよね?
stdafx.hを使用する場合
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>
#include <windowsx.h>
#include <stdio.h>
#include <shellapi.h>
のstdafx.hで
ソースに
#include stdafx.h
#include resource.h
#pragma comment(lib,ws2_32.lib)
//#pragma comment(lib, wsock32.lib)
//クラス名定義
#define CLASS_NAME Exp_Shell_NotifyIcon
#define WM_ICON_CLICK WM_USER + 999
#define MY_MSG (WM_USER + 1) //自前のメッセージ
でどんなエラーでしょうか
遅れてしまい申し訳ありません。
言われた通りに試してみました。
エラーは出なかったんですが、受信画面を起動してソケットを開いた段階で非同期化が失敗と言
われてしまいました。
そこについてのプログラムなんですが、
int mystream(HWND hDlg, u_short uport)
{
SOCKADDR_IN saddr;
int nAsync;
listen_s = socket(AF_INET, SOCK_STREAM, 0);//リスンソケット
if (listen_s < 0) {
if (WSAGetLastError() != WSAEWOULDBLOCK) {
MessageBox(hDlg,
ソケットオープンエラー,
Error,MB_OK | MB_ICONEXCLAMATION);
return -1;
}
} else {
MessageBox(NULL,ソケットオープンしました,socket成功,MB_OK);
}
bSOCKET_LISTEN = TRUE;//成功した場合
nAsync = WSAAsyncSelect(listen_s, hDlg, MY_MSG, FD_ACCEPT);
//非同期モード
if (nAsync != 0) { ←ここで引っ掛かってソケットが開かない
MessageBox(hDlg,非同期化失敗1,Error,MB_OK |
MB_ICONEXCLAMATION);
closesocket(listen_s);
bSOCKET_LISTEN = FALSE;
return -2;
}
//必要事項のセット
memset(&saddr, 0, sizeof(SOCKADDR_IN));
saddr.sin_family = AF_INET;
saddr.sin_port = htons(uport);
saddr.sin_addr.s_addr = INADDR_ANY;
if (bind(listen_s, (SOCKADDR *)&saddr, sizeof(saddr)) == OCKET_ERROR)
{
MessageBox(hDlg,bind Error\n
別なポート番号でもう一度試してください。,
Error,MB_OK);
closesocket(listen_s);
bSOCKET_LISTEN = FALSE;
return -3;
}
こんな感じです。
タスクバーに入れる処理を入力してアイコンがダブルクリックした時に出力されると言う風に取
っていました。
私の場合、socket処理はスレッドを行うことが大半で、非同期メッセージのやり方は
試したことがありませんが、
nAsync = WSAAsyncSelect(listen_s, hDlg, MY_MSG, FD_ACCEPT);
と
bind(listen_s, (SOCKADDR *)&saddr, sizeof(saddr)
それと上のソースにはないですが
listen(listen_s, 1)など出てくると思いますが
bindされていない状態でWSAAsyncSelectを呼び出しているから
失敗しているとかではないでしょうか
send(), recv(), connect(), accept()などブロッキングされる関数を非同期にする
ためのWSAAsyncSelectだとおもいますので通常の同期ですと
listen_s = socket(AF_INET, SOCK_STREAM, 0);//リスンソケット
if (bind(listen_s, (SOCKADDR *)&saddr, sizeof(saddr)) == OCKET_ERROR) ;
listen(listen_s , 1);
accept(listen_s, (SOCKADDR *)&client , &client_addr);
の順番ですので、最後のacceptでブロッキング(接続待ち)しないために
WSAAsyncSelect(listen_s, hDlg, MY_MSG, FD_ACCEPT);
で非同期関数を呼ぶのではないかと思います。
// 接続待ち開始処理関数
int mystream(HWND hDlg, u_short uport)
{
listen_s = socket(AF_INET, SOCK_STREAM, 0);//リスンソケット
if (bind(listen_s, (SOCKADDR *)&saddr, sizeof(saddr)) == OCKET_ERROR) ;
listen(listen_s , 1);
WSAAsyncSelect(listen_s, hDlg, MY_MSG, FD_ACCEPT);
}
// 接続メッセージ受信のウィンドウプロシージャー
LRESULT CALLBACK WndProc(){
case FD_ACCEPT:
conn_s=accept(listen_s, (SOCKADDR *)&client , &client_addr);
}
のように試してみてはどうしょうか
Sugiさん返信有難うございます。
最後に書いてるあるのってこの位置に書くんですよね?
そうなると、
listen_s = socket(AF_INET, SOCK_STREAM, 0);//リスンソケット
if (listen_s < 0) {
if (WSAGetLastError() != WSAEWOULDBLOCK) {
MessageBox(hDlg,
ソケットオープンエラー,
Error,MB_OK | MB_ICONEXCLAMATION);
return -1;
}
から
listen_s = socket(AF_INET, SOCK_STREAM, 0);//リスンソケット
if (bind(listen_s, (SOCKADDR*)&saddr, sizeof(saddr)) == SOCKET_ERROR) ;
listen(listen_s, 1);
accept(listen_s, (SOCKADDR *)&client, &client_addr);
WSAAsyncSelect(listen_s, hDlg, MY_MSG, FD_ACCEPT);
と言う感じですか?
試してみたらエラーが79も・・・。
先にお答え頂いてましたね。
Sugiさんが提示してくれた宣言文を書いてみたのですが同じようにエラーが79も出てしまいま
した。
また、'NOTIFYICONDATA' がシンタックスエラー
とかですか?
シンタックスエラーはないのですが、
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(360) : warning C4101: 'nAsync' : ローカル変数は 1 度も使われません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(361) : error C2501: 'bSOCKET_LISTEN' : 識別名を宣言するのに、型が指定されていませ
ん。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(361) : error C2374: 'bSOCKET_LISTEN' : 再定義されています。2 回以上初期化されてい
ます。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(363) : error C2501: 'nAsync' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(363) : error C2065: 'hDlg' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(365) : error C2143: 構文エラー : ';' が 'if' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(367) : error C2501: 'closesocket' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(367) : error C2040: 'closesocket' : 'int' は 'int (unsigned int)' と間接操作のレ
ベルが異なります。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(368) : error C2501: 'bSOCKET_LISTEN' : 識別名を宣言するのに、型が指定されていませ
ん。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(368) : error C2374: 'bSOCKET_LISTEN' : 再定義されています。2 回以上初期化されてい
ます。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(369) : error C2143: 構文エラー : ';' が 'return' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(370) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(373) : error C2501: 'saddr' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(373) : error C2239: 無効なトークン '.' が 'saddr' の宣言の後にあらわれました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(373) : error C2059: 構文エラー : '.'
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(374) : error C2501: 'saddr' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(374) : error C2086: 'saddr' : 再定義されました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(374) : error C2239: 無効なトークン '.' が 'saddr' の宣言の後にあらわれました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(374) : error C2059: 構文エラー : '.'
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(375) : error C2501: 'saddr' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(375) : error C2086: 'saddr' : 再定義されました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(375) : error C2239: 無効なトークン '.' が 'saddr' の宣言の後にあらわれました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(375) : error C2059: 構文エラー : '.'
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(377) : error C2143: 構文エラー : ';' が 'if' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(380) : error C2501: 'closesocket' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(380) : error C2040: 'closesocket' : 'int' は 'int (unsigned int)' と間接操作のレ
ベルが異なります。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(381) : error C2501: 'bSOCKET_LISTEN' : 識別名を宣言するのに、型が指定されていませ
ん。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(381) : error C2374: 'bSOCKET_LISTEN' : 再定義されています。2 回以上初期化されてい
ます。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(383) : error C2143: 構文エラー : ';' が 'return' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(384) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(389) : error C2501: 'closesocket' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(389) : error C2040: 'closesocket' : 'int' は 'int (unsigned int)' と間接操作のレ
ベルが異なります。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(390) : error C2501: 'bSOCKET_LISTEN' : 識別名を宣言するのに、型が指定されていませ
ん。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(390) : error C2374: 'bSOCKET_LISTEN' : 再定義されています。2 回以上初期化されてい
ます。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(391) : error C2143: 構文エラー : ';' が 'return' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(392) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(395) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(398) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(405) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(426) : error C2143: 構文エラー : ';' が 'return' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(438) : error C2143: 構文エラー : ';' が 'case' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(441) : error C2143: 構文エラー : ';' が 'break' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(443) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(453) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(458) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(464) : error C2501: 'nid' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(464) : error C2239: 無効なトークン '->' が 'nid' の宣言の後にあらわれました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(464) : error C2059: 構文エラー : '->'
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(465) : error C2501: 'nid' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(465) : error C2086: 'nid' : 再定義されました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(465) : error C2239: 無効なトークン '->' が 'nid' の宣言の後にあらわれました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(465) : error C2059: 構文エラー : '->'
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(466) : error C2501: 'nid' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(466) : error C2086: 'nid' : 再定義されました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(466) : error C2239: 無効なトークン '->' が 'nid' の宣言の後にあらわれました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(466) : error C2059: 構文エラー : '->'
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(467) : error C2501: 'nid' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(467) : error C2086: 'nid' : 再定義されました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(467) : error C2239: 無効なトークン '->' が 'nid' の宣言の後にあらわれました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(467) : error C2059: 構文エラー : '->'
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(468) : error C2501: 'nid' : 識別名を宣言するのに、型が指定されていません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(468) : error C2086: 'nid' : 再定義されました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(468) : error C2239: 無効なトークン '->' が 'nid' の宣言の後にあらわれました。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(468) : error C2059: 構文エラー : '->'
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(469) : error C2143: 構文エラー : ';' が 'return' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(470) : error C2143: 構文エラー : ';' が 'return' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(472) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(481) : error C2143: 構文エラー : ';' が 'if' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(486) : error C2143: 構文エラー : ';' が 'if' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(492) : error C2065: 'mouse' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(492) : error C2228: '.x' : 左側がクラス、構造体、共用体ではありません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(492) : error C2228: '.y' : 左側がクラス、構造体、共用体ではありません。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(494) : error C2065: 'hWnd' : 定義されていない識別子です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(499) : error C2143: 構文エラー : ';' が 'switch' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(504) : error C2143: 構文エラー : ';' が 'break' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(510) : error C2143: 構文エラー : ';' が 'return' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(511) : error C2143: 構文エラー : ';' が '}' の前に必要です。
C:\Documents and Settings\Administrator\デスクトップ\受信管理画面\ipmsav.cpp
(514) : error C2143: 構文エラー : ';' が '}' の前に必要です。
長いので分割しましたがこんな感じです。