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 | 32 | 33 | 34 | 35 | 36 >>
■69745  ContextMenuStripがキー入力を受け取らない
□投稿者/ くま -(2014/01/26(Sun) 11:32:07)

    分類:[VB.NET/VB2005 以降] 

    開発環境 VisualStudio.NET 2010 vb.net

    タスクトレイに常駐するアプリケーションを作成しています。

    formにhogeMenyuStripというコンテキストメニューストリップを登録し、
    ホットキー押下時にメニューを表示、選択した項目の値をペーストする
    というものです。

    簡単ですがコーディングは以下のような感じです。

    'コンテキストメニューにデータを登録
    Private Sub dataHenshu()
     Dim dataList = New ContextMenuStrip
     Dim item = New MyMenuItem

     item.Text = ”項目名”
     item.Tag = ”値”
     dataList .Add(item)
     AddHandler item.Click, AddressOf Clicked

     Me.hogeMenuStrip = dataList
    End sub

    'コンテキストメニューの項目をクリックした時
    Private Sub Clicked(ByVal sender As Object, ByVal e As EventArgs)

     Clipboard.SetText(CType(sender, MyMenuItem).Tag)
     SendKeys.Send("^(v)")

    End Sub

    'ホットキーが押された時
    Protected Overrides Sub WndProc(ByRef m As Message)

     base.WndProc(m)
     if m.Msg == WM_HOTKEY Then
      dataHenshu()
      Me.hogeMenuStrip.Show(Cursor.Position)
     End If

    End Sub

    '項目設定用
    Public Class MyMenuItem
    Inherits ToolStripMenuItem
    Public Shadows Tag As Object

    End Class


    メニュー表示⇒項目選択⇒値ペーストの機能は問題なく動作したのですが、コンテキストメニューを
    表示した時にタスクバーにバーが表示されてしまうため、ホットキーが押された時に以下の設定を
    することで回避しました。

    Me.TopMost = true

    しかしこの設定をすると、ContextMenuStripがキー入力を受け取らなくなるようで、
    SendKeys.Send("^(v)")が機能しなくなります。


    検索して調べてみたのですが、解決策が見つかりません。
    どなたか解決策をご存知の方がいらっしゃいましたらご教授下さい。
    よろしくお願いいたします。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69787  Re[1]: ContextMenuStripがキー入力を受け取らない
□投稿者/ shu -(2014/01/29(Wed) 16:45:49)
    No69745 (くま さん) に返信

    > しかしこの設定をすると、ContextMenuStripがキー入力を受け取らなくなるようで、
    > SendKeys.Send("^(v)")が機能しなくなります。
    >
    キー送信が行われないのではなく対象となるウィンドウがアクティブになっていないのでは
    ないでしょうか?
記事No.69745 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69813  Re[2]: ContextMenuStripがキー入力を受け取らない
□投稿者/ くま -(2014/01/31(Fri) 07:15:36)
    > shu さん

    ありがとうございます。

    なるほど、
    SendKeys.Send("^(v)")が呼ばれる前に、直前のウィンドウがアクティブになる処理を
    入れればよいと言うことですね?


    どう実装すればよいのか知識がないので、いろいろ調べてみますm(__)m
記事No.69745 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69883  Re[3]: ContextMenuStripがキー入力を受け取らない
□投稿者/ くま -(2014/02/06(Thu) 07:29:37)
    以下のような処理を追加して、直前のウィンドウがアクティブになるようにはできたのですが、
    SendKeys.Send("^(v)")で貼り付けできる時とできない時があり、動作が不安定です。
    原因が分かる方がいらっしゃいましたらご教授下さい。
    よろしくお願いいたします。

    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function GetWindowText(ByVal hwnd As IntPtr, ByVal lpString As StringBuilder, ByVal cch As Integer) As Integer
    End Function
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function GetWindowTextLength(ByVal hwnd As IntPtr) As Integer
    End Function

    Public Function GetText(ByVal hWnd As IntPtr) As String
    Dim length As Integer
    If hWnd.ToInt32 = 0 Then
    Return Nothing
    End If
    length = GetWindowTextLength(hWnd)
    If length = 0 Then
    Return Nothing
    End If
    Dim sb As New System.Text.StringBuilder("", length)
    GetWindowText(hWnd, sb, sb.Capacity + 1)
    Return sb.ToString()
    End Function

    Me.TopMost = Trueの前にアクティブウィンドウのタイトル名を取得
    Dim AWhwnd As IntPtr = GetForegroundWindow()
    Dim activeWindowName As String = GetText(AWhwnd)
    Me.TopMost = True

    '直前にアクティブだったウィンドウをアクティブにする
    AppActivate(activeWindowName)
    SendKeys.Send("^(v)")
記事No.69745 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69901  Re[4]: ContextMenuStripがキー入力を受け取らない
□投稿者/ くま -(2014/02/07(Fri) 20:37:05)
    自己解決しました。
記事No.69745 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69886  プロパティの連動
□投稿者/ C#研究者 -(2014/02/06(Thu) 19:01:14)

    分類:[C#] 

    Windows7 32bit VSC#2010

    intとenumのプロパティとintの内部データをもったユーザーコントロールを作っています。
    ※質問と関係のないプロパティは略しております。

    以下のように作ったのですが、
    スイッチIDを変えたときにinfo(Enum型)のプロパティも変わっているのですが、
    デザイナでint側を変更したときにSWITCH_ID_INFOの値が変わらず、
    SWITCH_ID_INFOのプロパティをクリックしたときに値が変更します。

    int側を変更した際に、INFOプロパティを変化させるにはどうすればよいのでしょうか。
    また、このような内部で連動したプロパティを作ることがあまりないので、
    ここがまずいとか、ここはこうしたほうがいいという考えをお持ちの方は
    是非教えてくだされば幸いです。

    public partial class UserControl1 : UserControl
    {
    /// <summary>
    /// スイッチID
    /// </summary>
    private int _SwitchID;

    /// <summary>
    /// スイッチ構造体
    /// </summary>
    public SWITCH_ID_INFO info
    {
    set
    {
    _SwitchID = (int)value;
    }
    get
    {
    return (SWITCH_ID_INFO)_SwitchID;
    }
    }

    /// <summary>
    /// スイッチID
    /// </summary>
    public int SwtichID
    {
    set
    {
    _SwitchID = value ;
    info = (SWITCH_ID_INFO)SwtichID ;
    }

    get
    {
    return _SwitchID;
    }
    }

    public UserControl1()
    {
    InitializeComponent();
    }
    }
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69896  Re[1]: プロパティの連動
□投稿者/ 魔界の仮面弁士 -(2014/02/07(Fri) 09:32:55)
    2014/02/07(Fri) 09:38:18 編集(投稿者)

    No69886 (C#研究者 さん) に返信
    > Windows7 32bit VSC#2010
    VSC#…?


    > 以下のように作ったのですが、
    public int SwtichID プロパティを
    private int _SwitchID フィールドで管理するのは分かりますが、
    public SWITCH_ID_INFO info プロパティまでも
    private int _SwitchID フィールドで管理しているようですね。


    > _SwitchID = (int)value;
    このキャストが良くわかりませんでした。
    コメントで「/// スイッチ構造体」と書かれているということは、
    SWITCH_ID_INFO は enum(列挙型)ではなく、struct(構造体)なのですよね。
    SWITCH_ID_INFO 構造体に、Int32 構造体への型変換演算子を実装してあるのですか?


    > スイッチIDを変えたときにinfo(Enum型)のプロパティも変わっているのですが、
    > デザイナでint側を変更したときにSWITCH_ID_INFOの値が変わらず、
    > SWITCH_ID_INFOのプロパティをクリックしたときに値が変更します。
    とりあえず RefreshPropertiesAttribute とか。
記事No.69886 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69900  Re[2]: プロパティの連動
□投稿者/ C#研究者 -(2014/02/07(Fri) 17:37:59)
    2014/02/07(Fri) 17:39:41 編集(投稿者)

    教えてくださりありがとうございます。
    また後日確認します。

    VS

    →VisualBasicの略です。

    構造体

    →ではなくて、enum型です。古いコメントが残っておりました。
     申し訳ありません。

    急用ができてしまったので、
    また後日確認したいと思います。
記事No.69886 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69903  Re[3]: プロパティの連動
□投稿者/ C#研究者 -(2014/02/07(Fri) 20:56:26)
    時間ができたので確認しました。
    RefreshPropertiesAttributeを追加してできました。

    enum型にプロパティを切り替えようとしたら、すでにint型のプロパティにいろいろつないでいたので、
    両方プロパティを残すようにしたいと考えております。
    これでなんとかなりそうです。
記事No.69886 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69904  windowsサービスをバッチスクリプトで登録する方法
□投稿者/ やま -(2014/02/08(Sat) 13:25:24)

    分類:[インストーラ全般] 

    VS2008 C#で開発したWINDOWSサービスがあるのですが、
    通常であれば、Visualstudioにてインスートラを作成し、作成した xxxx.msiファィルを実行して導入すると思うのですが
    この場合ですと、GUI形式で人が会話形式で操作する事になるのですが、バッチスクリプトを作成してWINDOWSサービス導入の自動化を考えているのですが
    具体的にどのような手順で作成すればよいかわかりません。

    どなたか、ご存じの方がおりましたらご教示いただけませんか?

    環境
    導入機器     WINDOWS2008R2 64bit
    winowsサービス  vs2008 c# (.netfk 3.5.1)
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69905  Re[1]: windowsサービスをバッチスクリプトで登録する方法
□投稿者/ ひよこ -(2014/02/08(Sat) 13:52:41)
    No69904 (やま さん) に返信
    > VS2008 C#で開発したWINDOWSサービスがあるのですが、
    > 通常であれば、Visualstudioにてインスートラを作成し、作成した xxxx.msiファィルを実行して導入すると思うのですが
    > この場合ですと、GUI形式で人が会話形式で操作する事になるのですが、バッチスクリプトを作成してWINDOWSサービス導入の自動化を考えているのですが
    > 具体的にどのような手順で作成すればよいかわかりません。
    >
    > どなたか、ご存じの方がおりましたらご教示いただけませんか?
    >
    > 環境
    > 導入機器     WINDOWS2008R2 64bit
    > winowsサービス  vs2008 c# (.netfk 3.5.1)

    scコマンドじゃあだめですか?
    http://support.microsoft.com/kb/251192/ja
記事No.69904 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69906  Re[1]: windowsサービスをバッチスクリプトで登録する方法
□投稿者/ オショウ -(2014/02/08(Sat) 14:59:13)
    No69904 (やま さん) に返信
    > どなたか、ご存じの方がおりましたらご教示いただけませんか?

      .NET で作成されたWindowsサービスの導入には、installutil.exe を使いますが・・・
      再配布は許可されていなかったので、同様の動作を行うプログラムを自作する必要が
      あります。

      自PCで実験・・・とするならば、installutil.exe を調べてみて下さい。

      それと、インストーラでカスタム動作を行う有用な情報としては以下URL
      ttp://dobon.net/vb/dotnet/deployment/index.html

    ※ 登録動作に関しては、Vista以降、当然、管理者権限必須です。

    以上。
記事No.69904 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69907  Re[2]: windowsサービスをバッチスクリプトで登録する方法
□投稿者/ Hongliang -(2014/02/08(Sat) 18:57:49)
    詳しくはないですが、msiはサイレントインストールできたような。
記事No.69904 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69908  Re[3]: windowsサービスをバッチスクリプトで登録する方法
□投稿者/ とっちゃん -(2014/02/10(Mon) 18:11:08)
>
    No69907 (Hongliang さん) に返信
    > 詳しくはないですが、msiはサイレントインストールできたような。

    msiexec /? とコマンドラインで打つとパラメータ一覧が見れますが、
    /quiet あるいは、/qn で画面表示一切なし。
    /qb でアンインストールの時のような小さな画面。
    /passive あるいは、/qb! で、/qb からキャンセルも取り除いたもの。
    になります。

    バッチ処理にするなら、msiexec /I <msiファイルのフルパス> /qb!
    とすると、何をやってるか一目瞭然かつ、やめられない止まらないな動作になります。

    一応。msiexec(msiファイルを実行するインストーラの実行モジュール)のコマンドラインパラメータの
    リファレンスも張っておきます。
    http://msdn.microsoft.com/en-us/library/aa367988.aspx
記事No.69904 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69902  コンテキストメニューが閉じない
□投稿者/ くま -(2014/02/07(Fri) 20:46:00)

    分類:[.NET 全般] 

    開発環境 VisualStudio.NET 2010 vb.net

    formにhogeMenuStripというコンテキストメニューストリップを登録し、
    dataHenshu()を呼び出して表示させています。

    簡単ですがコーディングは以下のような感じです。

    'コンテキストメニュー表示
    Private Sub dataHenshu()
     Me.hogeMenuStrip = New ContextMenuStrip
     Dim item = New ToolStripMenuItem

     item.Text = ”項目名”
     item.Tag = ”値”
     dataList .Add(item)
     AddHandler item.Click, AddressOf Clicked

     Me.hogeMenuStrip.Show(Cursor.Position)

    End sub


    コンテキストメニューは表示されるのですが、メニュー以外の場所を
    クリックしても閉じません。
    原因が分からず困っています。

    どなたか解決方法をご存知の方がいればご教授下さい。
    よろしくお願いいたします。

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

■69909  Re[1]: コンテキストメニューが閉じない
□投稿者/ くま -(2014/02/10(Mon) 23:39:33)
    ContextMenuStrip の表示直前に、ContextMenuStrip の Handle を最前面にすることで解決しました。
記事No.69902 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69910  EclipseでのAnt生成
□投稿者/ OROCHI -(2014/02/11(Tue) 00:35:31)

    分類:[Java] 

    こんにちは

    eclipseを使ってAndroid用プラグインを以下のような手順でjar形式のファイルとして作ることができます
    1.eclipse,JavaSDK,AndroidSDKを予めインストールしておく

    2.eclipseを起動する

    3.ファイル?新規?その他?Androidアプリケーションプロジェクトを選択

    4.アプリケーション名、プロジェクト名、パッケージ名を入力し、SDKのバージョンを全て4.4にしておく

    5.「次へ」を押し、画面が切り替わった後、上二つのチェックを外して「完了」を押す

    6.作成したパッケージからsrcを右クリックし、新規?パッケージを選択肢、4で入力したパッケージ名を入力する(忘れた場合、AndroidManifest.xml)に書いてある

    7.作成したパッケージを右クリックし、新規?クラスを選択

    8.クラス名をImmersiveFullscreenActivityとし、クラスを作成する

    9.作成したクラスにコードを入力する(com.unity3dのところで警告を受けるので、赤文字の上にカーソルを置き、プロジェクト・セットアップの修正?OKを選択する

    10.コードの記述が終わると、プロジェクトを右クリックしてエクスポートを選択

    11.Javaカテゴリ以下のJARファイルを選択する

    12.左の項目のプロジェクト名の横の三角を押し、プルダウンメニューを開き、src以外のチェックを外す、

    13.右の項目のチェックを全て外す

    14.保存先を選択し、完了を押す。

    ここまで入力すると、14で書いた場所にjar形式でエクスポートされたパッケージが生成されます

    これを使う分には問題ないのですが、これをantを使って作ることというのは可能でしょうか?
    一応eclipseにもAntビルドファイルを作る機能はあるので、以下の手順でAntビルドファイルの生成を行ってみました

    15.プロジェクトを右クリックし、プロパティを開く

    16.左項目からJavaのビルドパスを選択し、右項目でLibrariesタブが開かれているのを確認し、外部jar追加ボタンを押す

    17.Unityで用意されてるJarファイルを選択?OKを押す(Unityというエンジンで使うプラグインを作るためです)

    18.AndroidManifest.xmlの名前のところを、4で設定したパッケージ名に書き換える

    19.プロジェクトを右クリックして、「エクスポート」を選択

    20.Antビルドファイルを選択し、Antビルドファイルの生成対象に19で選んだプロジェクトを選ぶ→完了

    21.build.xmlの最後に<jar destfile = "XX.jar"></jar>を追加してjarファイルを作成する

    これでbuild.xmlというAntビルドファイルが完成し、jarファイルも完成するのですが、eclipseで作った方は普通に動くのですが、antを使った時は動作しません。
    build.xmlに何か追記する必要があると思うのですが、具体的に何をどのように追記したら良いのでしょうか?
    それともeclipseの

    AntとJavaに詳しい方、ご回答よろしくお願いします
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69887  antによる圧縮
□投稿者/ OROCHI -(2014/02/06(Thu) 20:23:53)

    分類:[XML] 

    こんにちは

    現在、Antを使って一つのjavaファイルを圧縮しようとしているのですが、build.xmlの基本的な書き方がわかりません
    条件はこんなかんじです

    1.test.javaというjavaファイルがある
    2.1を圧縮してtest.jarというファイルを作りたい

    そこで以下の様なbuild.xmlを書きました
    <?xml version="1.0" encoding="UTF-8" ?>
    <!--必要となるもの:jarへの圧縮 -->
    <project name="ZZ" default="jar" basedir=".">
    <!-- * jarファイル名 * -->
    <property name="jar.name" value="ZZ.jar"/>
    <!-- * jar作成 * -->
    <target name="ZZ" depends="compile">
    <jar jarfile="${jar.name}" basedir="${classes.dir}"/>
    </target>
    </project>

    結果は
    BUILD FAILED
    Target "jar" does not exist in the project "ZZ"

    となってしまいました。とりあえず難しいことは抜きにして、test.javaをZZ.jarへ圧縮したいのですが、どなたかantとxmlに詳しい方、ご教授願えませんでしょうか?
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69889  Re[1]: antによる圧縮
□投稿者/ みい -(2014/02/06(Thu) 21:46:01)
    No69887 (OROCHI さん) に返信
    > こんにちは
    >
    > 現在、Antを使って一つのjavaファイルを圧縮しようとしているのですが、build.xmlの基本的な書き方がわかりません
    > 条件はこんなかんじです
    >
    > 1.test.javaというjavaファイルがある
    > 2.1を圧縮してtest.jarというファイルを作りたい
    >
    > そこで以下の様なbuild.xmlを書きました
    > <?xml version="1.0" encoding="UTF-8" ?>
    > <!--必要となるもの:jarへの圧縮 -->
    > <project name="ZZ" default="jar" basedir=".">
    > <!-- * jarファイル名 * -->
    > <property name="jar.name" value="ZZ.jar"/>
    > <!-- * jar作成 * -->
    > <target name="ZZ" depends="compile">
    > <jar jarfile="${jar.name}" basedir="${classes.dir}"/>
    > </target>
    > </project>
    >
    > 結果は
    > BUILD FAILED
    > Target "jar" does not exist in the project "ZZ"
    >
    > となってしまいました。とりあえず難しいことは抜きにして、test.javaをZZ.jarへ圧縮したいのですが、どなたかantとxmlに詳しい方、ご教授願えませんでしょうか?

    「2.1を圧縮してtest.jarというファイルを作りたい」
    「test.javaをZZ.jarへ圧縮したい」
    どちらでしょうか。
    私は詳しくないのですが、下記ページは参考にならないでしょうか。
    http://www.javaroad.jp/opensource/js_ant2.htm
記事No.69887 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69890  Re[2]: antによる圧縮
□投稿者/ OROCHI -(2014/02/06(Thu) 22:25:43)
    No69889 (みい さん) に返信
    testをZZへ圧縮の方です。ページの紹介ありがとうございます
記事No.69887 のレス /過去ログ119より / 関連記事表示
削除チェック/

<前の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 | 32 | 33 | 34 | 35 | 36 >>

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

パスワード/

- Child Tree -