XPが私のラベル文字を表示してくれないのです???
C# ラベルに文字を表示し、そのラベルごと画面イメージ全体を取込みます
取込みが終ったらラベル文字を消去し、先に取込んだ画面イメージをPictureBoxに表示します
PictureBoxには『これが画面に表示されます』と表示されたラベルも含めて画面イメージが映っております
Windows7、Vistaでは確認したらOKでした
//label1のプロパティ label1.Text には空白、Visibleにはfalseが設定されています
Bitmap ScreenSaving = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
//画面サイズの領域を用意します
label1.Text = "これが画面に表示されます";
label1.Visible = true;
this.TopMost = true;
Graphics g = Graphics.FromImage(ScreenSaving); //Graphicsの作成
g.CopyFromScreen(new Point(0, 0), new Point(0, 0), ScreenSaving.Size); //画面全体をコピーする
g.Dispose();
label1.Text = ""; //画面コピー後に直ちにに消去
pictureBox1.Image = ScreenSaving; //コピーした画面を表示
ところがXPで同じプログラムを実行するとPictureBoxのラベルは空白のままです
画面をジッと直視していると画面が一瞬チラリと動きます
文字自体は肉眼では読取れませんが、チラリとしたのでラベルは表示されているのでしょう
では何故XPはラベルを表示した状態の画面を読取らないのでしょうか?
Windows7、VistaとXPでは画面表示のタイミング等々に差あるのでしょうか?
XPで瞬間的に表示したラベルを画面から読取るにはどうしたら良いのでしょうか?
ご指導宜しくお願い申し上げます
追伸】上述の『同じプログラムを実行する』とはVisual Studioでインスローラを作り、それをセットアップしました
Windows7、Vista、XPで別々にビルドした訳ではありません
お礼
お答え頂きありがとうございます。 cgiの後ろに#ラベルを書くことが出来るんですね。 理由についてお答えすると、[知らなかったから]です。 お恥ずかしい話ですが、単純に知らないのでそのように入力していただけの話です。「入力してはいけない」とは質問に書いていませんよね? 本日は会社の都合で移動してしまいますが、明日試してみます。
補足
今朝確認しましたところ、 http://myServer.ne.jp/~me/dispHoge.cgi?引数#label1で動作しました。 ありがとうございました。