C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 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 >>
■263  Re[1]: 見えない画面部分のキャプチャ
□投稿者/ えムナウ -(2005/03/27(Sun) 11:15:30)
>

    分類:[VB6以前] 

    はずしている可能性は十分にあります。
    試してみてからだめじゃんという文句を言わないのであれば、
    PrinterDC を使ってみたらどうでしょうか?
記事No.262 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■262  見えない画面部分のキャプチャ
□投稿者/ てるてるぼうず -(2005/03/26(Sat) 03:42:55)

    分類:[VB6以前] 


    分類:[VB6以前] 

    はじめまして、自プロセス内のフォームのハードコピー画像を
    作成する機能を作りたいのですが、要求が困難な為、
    2日近く調べて解決できずに困っています。
    以下の要求すべてを同時に実現する手段がありましたら教えて下さい。
    (特に1&2は一瞬でも駄目)

    1.スクリーン内に表示しない(画面外や最小化状態は可能)
    2.アクティブウィンドウを奪わない
    3.別のマシンにて、上記を無視して実行するのも駄目

    自分では、以下のAPIを試してみました。
    ※ピクチャボックスに表示できれば何とかなるので
     まずピクチャボックスに表示させています。
     ・GetDC(GetDCEx)
     ・CreateCompatibleDC
     ・BeginPaint
    いずれも、不可視部分が取り除かれた状態になってしまいます。
    目に見える部分しか取得できないものではないかと思っています。

    ウィンドウズの構造までは理解していませんので、そういった理由で
    絶対に無理という事をご存知でしたら、そういった回答で結構です。

    都合により、追記いただいた内容の確認は月曜日以降になってしまいます。
    返信等が遅くなってしまいますが、よろしくお願いします。m(_ _)m

親記事 /0過去ログ1より / 関連記事表示
削除チェック/

■258  Re[2]: 配列の要素の最後を知るには
□投稿者/ F1 -(2005/03/24(Thu) 18:39:56)

    分類:[VB.NET] 

    たつごろーさん ありがとう

    試してみます。
    とりあえず解決ということで。
記事No.254 のレス / END /過去ログ1より / 関連記事表示
削除チェック/

■255  Re[1]: 配列の要素の最後を知るには
□投稿者/ たつごろー -(2005/03/24(Thu) 15:01:35)
>

    分類:[VB.NET] 

    Arrayならば、Lengthプロパティを試してみてください。

記事No.254 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■254  配列の要素の最後を知るには
□投稿者/ F1 -(2005/03/24(Thu) 12:53:26)

    分類:[VB.NET] 


    分類:[VB.NET] 

    こんにちは
    FORループでの配列の要素の最後を知るには
    どうしたらよいでしょうか
    ラジオボタンの数、チェックボックスの数が配列なんですが
    よろしくお願いします。
親記事 /0過去ログ1より / 関連記事表示
削除チェック/

■261  Re[4]: タスクバーの文字を取得
□投稿者/ NOVE -(2005/03/25(Fri) 19:03:38)

    分類:[VB6以前] 

    ありがとうございます
    望んでいたように出来ました
    今まで付き合ってくださった皆さん、ありがとうございました。
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■260  Re[3]: タスクバーの文字を取得
□投稿者/ ガッ -(2005/03/25(Fri) 14:39:37)

    分類:[VB6以前] 

    ※大投下(orz
    ノ■ミ
    Option Explicit
    Private Declare Function EnumWindows Lib "user32" _
    (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const WM_GETTEXTLENGTH As Long = &HE
    Private Const WM_GETTEXT As Long = &HD
    Private EnumWindowTextCollection As Collection

    Public Function EnumWindowText() As Collection

    Set EnumWindowTextCollection = New Collection
    Call EnumWindows(AddressOf EnumWindowsProc, 0)
    Set EnumWindowText = EnumWindowTextCollection

    End Function

    Private Function EnumWindowsProc(ByVal hWnd As Long, ByVal lParam As Long) As Long

    EnumWindowTextCollection.Add GetWndText(hWnd)
    EnumWindowsProc = 1

    End Function

    Public Function GetWndText(ByVal hWnd As Long) As String

    Dim i As Long
    Dim buf() As Byte

    If hWnd <> 0 Then
    i = SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0) + 1
    ReDim buf(1 To i)
    i = SendMessage(hWnd, WM_GETTEXT, i, buf(1))
    If i <= 0 Then
    Erase buf
    Else
    ReDim Preserve buf(1 To i)
    End If
    GetWndText = StrConv(buf, vbUnicode)
    End If

    End Function

    ※IDE上でEnumWindowTextを実行したところ、0.05秒かかりました。
     …少し遅いですねぇ。
     ID:12345

記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■259  Re[2]: タスクバーの文字を取得
□投稿者/ NOVE -(2005/03/24(Thu) 22:48:23)

    分類:[VB6以前] 

    文章が下手だから、相手にされなくなったかと思った。
    >(他アプリの)Form1.Caption を取得したい
    >ひとつのアプリだけでなく、すべてのプロセスを列挙
    こんな事がしたいのです。
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■257  Re[1]: タスクバーの文字を取得
□投稿者/ 魔界の仮面弁士 -(2005/03/24(Thu) 16:17:27)

    分類:[VB6以前] 

    # 仕様が良く分からなかったので、逆に質問。

    > 現在起動しているアプリケーションのタイトルを取得したいのですが

    これって、(他アプリの)App.Title を取得したいという事でしょうか?
    それとも、(他アプリの)Form1.Caption を取得したいのでしょうか?

    また、他アプリの指定は、どのように行うのでしょうか。
    マウスカーソル座標下にあるウィンドウが対象?
    プロセスのファイル名を指定して、該当するアプリを対象にする?
    ひとつのアプリだけでなく、すべてのプロセスを列挙する?
    それとも、既に(ウィンドウハンドルなどを)取得済みという前提?
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■252  Re[7]: タスクバーの文字を取得
□投稿者/ NOVE -(2005/03/22(Tue) 20:48:34)

    分類:[VB6以前] 

    努力しましたが、だめでした
    VB6でのProcess.GetProcessesByNameの使い方を教えてください
    インターネットではNETでの方法しか載せていなかったんで、、、
    じゃんぬねっとさんの所でもVB6だけ保留中でしたし、
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■251  Re[6]: タスクバーの文字を取得
□投稿者/ NOVE -(2005/03/22(Tue) 20:20:57)
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■250  Re[5]: タスクバーの文字を取得
□投稿者/ じゃんぬ -(2005/03/22(Tue) 18:58:58)
>

    分類:[VB6以前] 

    こんにちは、管理人のじゃんぬ (中佐w) です。

    No249に返信(NOVEさんの記事)
    > 全プロセスを取得して、その中からウインドウに表示しているものを選んでもいいのですが
    > 全プロセスですと、Windowsの裏で立ち上がっているEXEまで取得するのでかなりの量になります

    そんなに重い処理にはなりませんよ。
    それに、ウィンドウ ハンドルを持っていないプロセスだって多いじゃないですか?
    MainWindowHandle が無効なものは無視するので、そんなに多くはならないハズです。

    それと「選んでもいい」と仰ってますが、これから「取得」しようと思っているものをどうやって「選ぶ」というのです?
    もしかすると、全部列挙したいのですか?

    > 現在、ウインドウに表示されているアプリケーションの名前を取得したいのですが
    > 簡単な方法は無いんでしょうか

    先に書いたように、MainWindowHandle が存在するプロセスの、
    MainWindowTitle プロパティを参照しては如何でしょうか?
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■249  Re[4]: タスクバーの文字を取得
□投稿者/ NOVE -(2005/03/22(Tue) 18:51:38)

    分類:[VB6以前] 

    中佐殿!
    アプリケーションの名前は決まっていません
    中佐殿がおっしゃっているように、全プロセスを取得して、その中から
    ウインドウに表示しているものを選んでもいいのですが
    全プロセスですと、Windowsの裏で立ち上がっているEXEまで取得するので
    かなりの量になります
    現在、ウインドウに表示されているアプリケーションの名前を取得したいのですが
    簡単な方法は無いんでしょうか

記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■246  Re[3]: タスクバーの文字を取得
□投稿者/ じゃんぬ -(2005/03/21(Mon) 21:31:29)
>

    分類:[VB6以前] 

    こんにちは、管理人のじゃんぬ (少佐w) です。

    No245に返信(NOVEさんの記事)
    > 今、ウインドウに表示されている、他の、アプリケーションのタイトルが
    > ほしいのですが、全く解からないんです。
    > ※ウインドウに表示してある外部アプリケーションは
    >  Shellで立ち上げたものではありません

    となると、全プロセスを取得して判定することになるのですが、
    そのアプリケーションの名前というのは決まってるのですか?
    通常その場合は、
      http://jeanne.wankuma.com/tips/process/06-getprocessesbyname.html
    のように、指定した名前でプロセスを取得した後、

    MainWindowTitle プロパティを用いてタイトルを取得するのですが...
    ターゲットのものは何かを教えてください。
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■245  Re[2]: タスクバーの文字を取得
□投稿者/ NOVE -(2005/03/21(Mon) 19:09:41)

    分類:[VB6以前] 

    2005/03/21(Mon) 19:15:58 編集(投稿者)


    少佐!申し訳ありません。
    質問に大切なことが抜けていました。
    今、ウインドウに表示されている、他の、アプリケーションのタイトルが
    ほしいのですが、全く解からないんです。

    ※ウインドウに表示してある外部アプリケーションは
     Shellで立ち上げたものではありません
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■244  Re[1]: タスクバーの文字を取得
□投稿者/ じゃんぬ -(2005/03/21(Mon) 18:07:28)
>

    分類:[VB6以前] 

    こんにちは、管理人のじゃんぬ です。
    たまにはと、積極的に回答を致します。

    No243に返信(NOVEさんの記事)
    > 現在起動しているアプリケーションのタイトルを取得したいのですが
    > まったく出来ません、
    > どのようにしたらよいでしょう?

    タイトルに、

    > タスクバーの文字を取得

    とありますが、質問内容と何の関連があるのでしょうか?
    タスクバーの文字というのは、Form の Text ですよね?
    アプリケーションのタイトルとは関係がないように思えるのですが...

    それとも、Application.ProductName のようなアセンブリ名でしょうか?
記事No.243 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■243  タスクバーの文字を取得
□投稿者/ NOVE -(2005/03/21(Mon) 17:37:14)

    分類:[VB6以前] 


    分類:[VB6以前] 

    激しくわかり難い文ですが、よろしくお願いします。

    現在起動しているアプリケーションのタイトルを取得したいのですが
    まったく出来ません、
    どのようにしたらよいでしょう?
親記事 /0過去ログ1より / 関連記事表示
削除チェック/

■242  Re[2]: フォーム 2重起動
□投稿者/ かるあ -(2005/03/21(Mon) 16:49:49)

    分類:[VB.NET] 

    おつかれさまです。

    わかりやすい説明ありがとうございました。m(_ _ )m
    説明通りやってみたらOKでした。

    #プロパティか何かで複数のは表示はしないとかそういう設定が
    あればいいのになぁ。


記事No.234 のレス / END /過去ログ1より / 関連記事表示
削除チェック/

■235  Re[1]: フォーム 2重起動
□投稿者/ よねKEN -(2005/03/19(Sat) 05:08:41)

    分類:[VB.NET] 

    No234に返信(かるあさんの記事)
    > Form1からForm2を呼び出す。
    > Form2が開いていた場合はForm2を最前面にするような処理がしたいです。
    > "Form2が開いている場合"という処理はどうすればよいのでしょう?

    1.Form2のコンストラクタのアクセシビリティをPublicからPrivateに変更
       Public Sub New() → Private Sub New()

    2.Form2に下記のコードを追加
    Protected Shared m_instance As Form2

    Public Shared ReadOnly Property Instance() As Form2
    Get
    If m_instance Is Nothing OrElse m_instance.IsDisposed Then
    m_instance = New Form2
    End If
    Return m_instance
    End Get
    End Property

    3.Form2の画面の状態に関わらず、下記で表示、または、アクティブにする。
      Form2.Instance.Show()
    Form2.Instance.Activate()

    というような方法はどうでしょうか?(いわゆるシングルトンパターン)
    開けるForm2は唯一つでよければ、こういう方法があります。

    あるいは、もっと素直なやり方としては、
    Form2のインスタンスはForm1のクラス変数で保持しておいて、
    Form2を表示した後、Form2を閉じるときは、
    Closeで閉じるのではなく、Hideしておくだけにして、
    一回目表示するときも、前面に持っていくだけのときも、
    どちらの場合もShowしてActivateメソッドを呼び出せばOKです。

    Form2自身で勝手にCloseされないようにしておけば、
    開かれているか?という確認は不要ですよね。


記事No.234 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■234  フォーム 2重起動
□投稿者/ かるあ -(2005/03/18(Fri) 17:56:41)

    分類:[VB.NET] 


    分類:[VB.NET] 

    こんにちわ。

    フォームの事でお聞きします。
    フォームの2重起動をしない為にはどうすればよいのでしょうか?

    ShowDialogを使用すると、その画面を閉じないと前の画面を操作できません。

    処理としては

    Form1からForm2を呼び出す。
    Form2が開いていた場合はForm2を最前面にするような処理がしたいです。
    "Form2が開いている場合"という処理はどうすればよいのでしょう?

    ↓のページが近いのかなと思うのですが
    http://anetm.com/dev/tools/vbdotnet/112213.htm
    ↑のサンプルはアプリケーションの重複起動なので、質問からズレている気もしますが・・・。

    ご教授お願いします。m(_ _)m

    #ShowDialogでいいと思うんだけどなぁ・・・。その画面を閉じてから処理を
    すればいいのに・・・。(-。-*)ブツブツ
親記事 /0過去ログ1より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 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 >>

ヒット件数が多いので過去ログ1〜1 までの検索結果 / 過去ログ2からさらに検索→

パスワード/

- Child Tree -