2011-03-15 21 views
0

私はサーバーに接続されているディスプレイの高さまたは幅を表示するWebサービス(asp.net)を持っています。しかし、私はlocalhostを介してそれを呼び出すとき、私は間違った表示を得る、それは実際にディスプレイが1280x1024に設定されているときは1024x768と言います。System.Windows.SystemParameters.PrimaryScreenWidthが間違っていますか?

ここに何か不足していますか?コードは非常に単純です:

[WebMethod] 
public int GetHeight() 
{ 
    return (int)System.Windows.SystemParameters.PrimaryScreenHeight; 
} 

[WebMethod] 
public int GetWidth() 
{ 
    return (int) System.Windows.SystemParameters.PrimaryScreenWidth; 
} 

私も使ってみた:

System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height 
System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width 

をおそらくこれを行うには良い方法はありますか?たぶん、値をテキストファイルに保存するか、おそらくより信頼性の高い方法がありますか?おそらく、設定された解像度のレジストリを照会しますか?

+3

Webサービスはローカルデスクトップにアクセスできないサービスとして動作していますか? – Gabe

+1

あなたはそれらが同じユーザーとして実行されていますか?各ユーザーには独自の表示設定があるため、Webサーバーと同じユーザーとしてログインする必要があります。 – CodeNaked

+0

@gabe:私はそう信じています、私はこれをチェック/設定できる場所はありますか? – Prisoner

答えて

0

私はWMIを使用するようにASP.NETを動作させることを断念しました。 thisの質問に私が問題を尋ねて解決したことを確認してください。

関連する問題