No.1ベストアンサー
- 回答日時:
Dns::GetHostByName();
Dns::Resolve();
とか
勘違いしてたらすみません
この回答への補足
回答ありがとうございます。
いくつか質問したいことがあります。
Dns::GetHostByName();
というのは、MFCでも使用可能でしょうか?
-------------------------------------------
以下のソースを使用して
コンピュータ名を取得(NetBios名らしい)
しました。
しかし、Socket.Connect(Servername,Port)
としても接続できませんでした。
他のコンピュータに接続するには、
Socket.Connect(IPAddress,Port)
のようにするしかないのでしょうか?
-------------------------------------------
void CChatDlg::GetServerName()
{
LPSERVER_INFO_101 pBuf = NULL;
LPSERVER_INFO_101 pTmpBuf;
DWORD dwLevel = 101;
DWORD dwPrefMaxLen = -1;
DWORD dwEntriesRead = 0;
DWORD dwTotalEntries = 0;
DWORD dwTotalCount = 0;
DWORD dwServerType = SV_TYPE_SERVER; // すべてのサーバー
DWORD dwResumeHandle = 0;
NET_API_STATUS nStatus;
LPTSTR pszServerName = NULL;
DWORD i;
// このサーバーは、既定のローカルコンピュータではない。
//
if (__argc == 2)
pszServerName=__argv[1];
//
// 情報レベル 101 を指定して NetServerEnum 関数を
//呼び出し、すべてのサーバーに関する情報を取得する。
//
nStatus = NetServerEnum((LPCWSTR)pszServerName,dwLevel,(LPBYTE *) &pBuf,dwPrefMaxLen,&dwEntriesRead,&dwTotalEntries,dwServerType,NULL,&dwResumeHandle);
//
// 呼び出しが成功した場合、
//
if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA))
{
if ((pTmpBuf = pBuf) != NULL)
{
//
// 各エントリをループ処理し、
// すべてのサーバータイプのデータを出力する。
//
for (i = 0; i <dwEntriesRead; i++)
{
if (pTmpBuf == NULL)
{
break;
}
char ConvStr[128];
DWORD dwLen = WideCharToMultiByte(CP_ACP,0,pTmpBuf->sv101_name,11,ConvStr,sizeof(ConvStr),"x",NULL);
ConvStr[dwLen]='\0';
List.SetArry(LIST_ME);
List.AddString(ConvStr);
//
// サーバーがドメインコントローラかどうかをチェックする
// ドメインコントローラだった場合、PDC か BDC か識別する。
//
//
// サーバーに関連付けられているコメントも出力する。
//
pTmpBuf++;
dwTotalCount++;
}
// 利用可能なエントリの一部が列挙されていない場合、
// そのことを出力し、実際に列挙されたエントリの数と、
// 利用可能なエントリの総数を出力する
}
}
}
------------------------------------------------
よろしくお願いします。
回答ありがとうございました。
WNetEnumResource
gethostbyname
parent.lpRemoteName = "WORKGROUP";
parent.lpProvider = "Microsoft Windows Network";
WNetOpenEnum
等を使用して作ることができました。
感謝します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) DHCPサーバーについて、、、。 職場のネットワーク環境で困っています。サーバーはWindows s 3 2023/01/04 10:15
- その他(コンピューター・テクノロジー) batファイルでPCの設定内容やプロパティーを取得したいのですが、コマンド1個で1ファイルとなるのを 2 2022/04/27 15:27
- 固定IP MACアドレスはLAN内で相手を特定するアドレスですか? PCから監視カメラを閲覧するときに、セグメ 3 2022/07/23 09:04
- ネットワーク DHCPのリース期限が半分になった時、WindowsPCはリースの延長をリクエストするかと思います。 2 2023/01/17 09:12
- サーバー ネットワークの構成に困っています 3 2023/07/05 11:55
- 固定IP iPhoneでのIPv4切り替え方法 3 2022/11/24 22:26
- Windows 10 インストールしたてのVirtualBoxの仮想マシンにDHCPで割り振られるIPアドレスにつきまして 1 2023/05/03 14:46
- VPN 接続のたびにIPが変わるVPNサービスが知りたい 2 2022/06/27 02:34
- Wi-Fi・無線LAN iPhoneのIPアドレスは機内モードをオンで変わるように、無線ルーターも何かの方法で変更できる? 2 2022/04/02 14:37
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
エクセルVBAでオプションボタン...
-
EXCELでactivexコントロールを...
-
vb.netで画面のコントロールId...
-
'ckbl' コントロールは作成され...
-
C#で角が丸いテキストボックス
-
コントロールを移動できない
-
VBAのエラーについて、”実行時...
-
With~EndWithの省略部分と引数...
-
ExcelVBAでListViewが使用できない
-
間違えて配置してしまったコン...
-
Labelコントロールの(左右)余...
-
VBAのフォームでTextBoxがいっ...
-
変数をコントロール型で使用す...
-
(VBA)スピンボタンの大量...
-
コントロール配列と同じような...
-
DataGridViewとSPREADの機能比較
-
VBAでドラッグ・アンド・ドロップ
-
Groupboxの配下のコントロール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
エクセルVBAでオプションボタン...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
excelのリストボックスで選択し...
-
ユーザーフォームで動的(Me.Con...
-
フォーム上の現在アクティブな...
-
C#で自分のウインド・ハンド...
-
変数をコントロール型で使用す...
-
VBAのフォームでTextBoxがいっ...
-
コントロールを移動できない
-
Groupboxの配下のコントロール...
-
C#で角が丸いテキストボックス
-
(VBA)スピンボタンの大量...
-
間違えて配置してしまったコン...
-
エクセル コントロールツール...
-
'ckbl' コントロールは作成され...
-
OCXって何ですか?
おすすめ情報