fc2ブログ




久々にブログを開きました・・・


プロフィール

びんとろ

Author:びんとろ
びんとろ日記へようこそ!



最近の記事



最近のコメント



最近のトラックバック



月別アーカイブ



カテゴリー



FC2カウンター



あなたの運勢は!?



Flashアナログ時計(背景可変版)



カレンダー(月別)

06 ≪│2008/07│≫ 08
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -



ブロとも申請フォーム

この人とブロともになる



ブログ内検索



RSSフィード



リンク

このブログをリンクに追加する



ターミナルサービスを使っている場合のクライアントPCのIPアドレス取得
久々に技術的な話題を・・・。

ターミナルサービスでログオンした場合に ipconfig で自分の IPアドレスを調べると、もちろん、サーバー側の IP アドレスが取得されます。

以下のプログラムを用いると、ターミナルサービスであっても、自クライアントPCのIPアドレスの取得が可能です。


// getwtsip.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
// Wtsapi32.lib を[構成プロパティ] - [リンカ] - [コマンドライン] にて追加する必要があります。

#include <stdio.h>
#include <tchar.h>
#include "stdafx.h"

#include <windows.h>
#include <wtsapi32.h>



int _tmain(int argc, _TCHAR* argv[])
{
DWORD dwSessionID = -1; // 0 is 1st console session created on XP, 1 is 1st console session on Vista
LPTSTR pData = NULL;
DWORD cbReturned = 0;
WTS_CLIENT_ADDRESS* address;

ProcessIdToSessionId(GetCurrentProcessId(), &dwSessionID);
WTSQuerySessionInformation (WTS_CURRENT_SERVER_HANDLE , dwSessionID ,WTSClientAddress,&pData, &cbReturned);
address = (WTS_CLIENT_ADDRESS*)pData;
printf("%d.%d.%d.%d\n", address->Address[2], address->Address[3], address->Address[4] , address->Address[5]);
WTSFreeMemory(pData);

return 0;
}
スポンサーサイト



テーマ:プログラミング - ジャンル:コンピュータ