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 >>
■69963  Re[1]: CopyFileWでコピー出来ない
□投稿者/ 鯖の味噌 -(2014/02/13(Thu) 18:27:52)
    No69942 (鯖の味噌 さん) に返信
    > 2014/02/13(Thu) 10:52:44 編集(投稿者)
    >
    > Private Declare Function CopyFile Lib "kernel32.dll" Alias "CopyFileW" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Integer) As Integer
    >
    > Sub Main()
    >
    > Dim Result As Integer = CopyFile("\\?\C:\A.txt", "\\?\C:\B.txt", 0)
    >
    > End Sub
    >
    > このコードを実行してもResult=0となりコピーできません。
    > どこを間違えているのでしょうか?
    >
    > Windows7 64bit SP1
    > VS Express 2013 for Desktop
    > を使用しています。

    ご教授ありがとうございました。
    最終的に以下のように記述し、コピーすることが出来ました。

    Private Declare Unicode Function CopyFile Lib "kernel32.dll" Alias "CopyFileW" (<MarshalAs(UnmanagedType.LPStr)> ByVal lpExistingFileName As String, _
    <MarshalAs(UnmanagedType.LPStr)> ByVal lpNewFileName As String, _
    <MarshalAs(UnmanagedType.Bool)> ByVal bFailIfExists As Boolean) _
    As <MarshalAs(UnmanagedType.Bool)> Boolean
    Sub Main()
    Dim Result As Integer = CopyFile("\\?\C:\CopyTemp\A.txt", "\\?\C:\CopyTemp\B.txt", 1)
    If Result = 0 Then
    Trace.WriteLine(New ComponentModel.Win32Exception(Marshal.GetLastWin32Error()).ToString())
    End If
    End Sub
記事No.69942 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69964  Re[2]: CopyFileWでコピー出来ない
□投稿者/ 魔界の仮面弁士 -(2014/02/13(Thu) 18:45:03)
    No69963 (鯖の味噌 さん) に返信
    > 最終的に以下のように記述し、コピーすることが出来ました。
    Declare を Boolean 型で宣言しているのに、
    呼び出し側で Integer 型を使っているのは何故ですか?

    > Trace.WriteLine(New ComponentModel.Win32Exception(Marshal.GetLastWin32Error()).ToString())
    ちなみに Marshal.GetLastWin32Error() メソッドの代わりに、
    Err.LastDllError プロパティを使っても同じ結果が得られます。蛇足までに。
記事No.69942 のレス /過去ログ119より / 関連記事表示
削除チェック/

■72048  Re[2]: 印刷のページ指定
□投稿者/ じぇ -(2014/05/13(Tue) 09:46:47)
    No72047 (shu さん) に返信

    >失礼しました。
    C#、FixedDocumentを使用しております。

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

■75715  Re[2]: エントリーポイント作成時のエラーについて
□投稿者/ kouei3 -(2015/04/25(Sat) 15:17:20)
>
    No75713 (shu さん) に返信
    > ■No75708 (kouei3 さん) に返信
    >>新規のプロジェクトを作成し、windowsフォームを規定のスタートアップではなく
    > 規定 => 既定?

    @既定です。スタートアップオブジェクトをBに設定しました。

    > プロジェクトの種類は?

    Awindowsフォームアプリケーションです。

    >>エントリーポイント(クラス・モジュール・sub main)を作成しました。
    > 何を作成したのか?

    エントリークラスです。

    BPublic Class Entyty

    <STAThread()> _
    Sub Main()
    Application.EnableVisualStyles()
    Application.SetCompatibleTextRenderingDefault(False)
    Application.Run(New FORM_MAIN)
    End Sub
    End Class


    >>
    >>プロジェクトのプロパティにてアプリケーション フレームワークを有効にするのチェックをはずし
    >>スタートアップオブジェクトを自作のエントリーポイントにした所、下記エラーが表示されました。
    >>
    >>エラー1 正しいシグネチャを持つ、アクセス可能な 'Main' メソッドは、'AA01_SAMPLE' に見つかりませんでした。
    >>
    >>以上です。VB側が用意してくれたMainメソッドに引数がセットされていたのはわかりますが
    > VB側は通常Mainメソッドを用意しないと思いますがどのような手順で作成されましたか?

    VB側はMainメソッド内包的にしか用意してくれないので、エントリークラスBを用意し
    プロジェクトのプロパティから

    アプリケーション フレームワークを有効にするのチェック を外しました。
    その後、同プロジェクトのプロパティからスタートアップオブジェクトをBに設定しました。

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

■78290  Re[4]: ウェブサイトから取得したHtmlソースの欠損
□投稿者/ くなーら -(2016/01/04(Mon) 20:42:38)
    遅れまして申し訳ありません。

    > 手元環境では、</html> まで表示されているようですが、「略されている」のですか?
    > 見た目が違うという話であれば、「右端で折り返す」が要因になりそうですが…、そういった単純な話ではないのですよね?

    はい。略されています。
    </html>タグが出力されており、間のコンテンツ部分が抜け落ちております。

    > source の Length プロパティはどのくらいですか?
    > 手元では 98455 でも表示されていました。

    Re[2]:本文中のソースを改めて出力テストを行いましたので、ご報告します。

    using (var res = (HttpWebResponse)req.GetResponse())
    using (var resSt = res.GetResponseStream())
    using (var sr = new StreamReader(resSt, Encoding.UTF8))
    {
    //検証用に出力
    string source = sr.ReadToEnd();
      this.txtHeadleine.Text = source;
    Console.WriteLine(sr.ReadToEnd());//@
    Console.WriteLine(this.txtHeadleine.Text);//C
    }
    から、「//検証用に出力」コメント以下を下記に書き換え。

    source = sr.ReadToEnd();
    this.txtHeadleine.Text = source;
    Console.WriteLine(sr.ReadToEnd()+"@");
    Console.WriteLine(source + "A");
    Console.WriteLine(source.Length + "B");
    Console.WriteLine(this.txtHeadleine.Text.Length + "C");
    source = source.Replace("\r\n", "\r").Replace("\n", "\r").Replace("\r", "\r\n");
    Console.WriteLine(source.Length + "D");

    結果は下のキャプチャです。
    https://gyazo.com/aab3dc9942996004c2f6b4093db77919
    @はただ"@"のみが出力され、Aは欠損無く全てのHtmlソースが出力されました。

    なおテキストビジュアライザーで表示時は、492行31786文字となりました。下キャプチャにチェッカーの結果。
    https://gyazo.com/094ec0498cfe5cc987eb940d68001b42

    下記キャプチャは、テキストビジュアライザーで表示されたHtmlソースと、
    出力ウィンドウに表示されたHtmlソースを比較した結果です。
    https://gyazo.com/3b690241a4bd37a9849866203b7fd238
    https://gyazo.com/791902ae9248b127b0c020cbe5a14f83

    JavaScriptのロジックが途中で堂々ぶつ切りになっているので、
    コンテンツタグだけ消すといった器用なことはしていないみたいですね......

    /*
    関係無いかと思われますが、Htmlビジュアライザーでは同様の問題は起きないみたいです。
    初期表示時は一部のみ表示されますが、↓
    https://gyazo.com/a7fb8c1d5518c787fbf7ff850d951662
    少し時間が経つと全コンテンツが表示される↓
    https://gyazo.com/1aa082b8aae7b86ad17e9326ecc570fe
    */

    ・ビジュアライザーに問題がある
    ・使用しているビジュアライザーのみ問題がある
    ・ウェブアイトに問題がある
    ・取得の仕方に問題がある
    ・そういう仕様
    ぱっと私が思いつく可能性はこれくらいです。
    収拾がつかなさそうなので、ここで解決済みとさせて頂きますが、今後も調査をする次第ではあります。
    (とはいっても、他のポータルサイト等を引っ張って出方を見るとか、
    ぶつ切りになる境界値を調べるくらいしかとっかかりがありませんが......)

    お知恵を貸して頂き、ありがとうございました。
記事No.78280 のレス / END /過去ログ132より / 関連記事表示
削除チェック/

■79477  actionPerformed(???)の引数の取り方を教示
□投稿者/ ごっちん -(2016/04/06(Wed) 20:34:40)

    分類:[Java] 

    今晩は、JAVA初心者です、宜しくお願いします。

    <public void actionPerformed( ActionEvent e ){}>
    を以下のように、<btn.addActionListener( )>以外から、
    呼び出したいのですが、引数の取り方がわかりません。

    色々な変数を入れたり、キャストもしてやりましたが、
    エラーばかりです。

    どなたか詳しい方宜しくご教示お願い致します。

    ===============================================================

    SampleTest()
    {
    this.setBounds( 10 , 10 , 300 , 200 ) ;

    btn = new JButton("ボタン") ;
    btn.addActionListener( this ) ;

    p = new JPanel() ;
    p.add ( btn ) ;
    this.add( p ) ;

    // actionPerformed( ?????? );

    }
    public void actionPerformed( ActionEvent e )
    {
    if( btn == (JButton)e.getSource() )
    {
    p.setBackground( Color.yellow ) ;
    }
    else
    {
    System.out.println("Error!!");
    }
    }

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

■79942  Re[10]: カラーパレット任意の座標に表示する
□投稿者/ 魔界の仮面弁士 -(2016/05/30(Mon) 17:51:06)
    No79940 (kazu さん) に返信
    >> 現象を再現するための検証用アプリケーションを新たに作成し、
    >> それを OneDrive 等で公開することはできますか?
    >
    > ソースを公開するのは難しいかと思います。

    検証コードをネットワーク上で公開するのが難しいのであれば、
    そのコードを掲示板に貼る事はできますか?


    ・Visual Studio のバージョンとエディション、使っている .NET Framework のバージョン、
     そして 実行している OS が何かを明確にする。

    ・どんなコントロールを使っているか分かるよう、
     label1 や pictureBox1 といった名前のままにする。

    ・余計な処理等は極力加えず、現象を再現可能な最低限のコードのみで構成する。

    ・デザイン時設定のプロパティ等で特筆すべき点があればコメント等で併記しておく。
     (可能であれば、Load イベントでコントロールを動的配置する)

    ・コードをアップする時には、掲示板の投稿モードを「図表モード」に変更する。

    ・掲示板に投稿した内容をそのまま新規プロジェクトに当てはめたときに
     自身の環境で再現することを確認しておく。
記事No.79858 のレス /過去ログ136より / 関連記事表示
削除チェック/

■80816  Re[1]: 二つのコントロールが一緒に動くようにする方法
□投稿者/ Azulean -(2016/08/12(Fri) 18:31:38)
    Anchor は「指定した方向からの位置を固定する」という機能なので、2つのコントロールを連携して配置・リサイズすることには使えません。
    TableLayoutPanel を使うのが道でしょうか。

    一例
    1.TableLayoutPanel を配置する。
    2.最終行を削除する。
    3.TableLayoutPanel の Dock プロパティを Top にする。
    4.TableLayoutPanel 内の左と右にそれぞれボタンを配置し、Anchor を Top, Left, Right とする。

    ※TableLayoutPanel はデフォルトで 50%, 50% という割合で分割する設定なので、列の編集はしていません。
記事No.80813 のレス /過去ログ137より / 関連記事表示
削除チェック/

■81549  Re[7]: クリックワンスの引数について
□投稿者/ 夜叉丸 -(2016/10/07(Fri) 17:45:42)
    このままずっと解決できそうにないので
    解決済みで終了します。
記事No.81459 のレス / END /過去ログ139より / 関連記事表示
削除チェック/

■84498  Re[5]: サーバー疎通確認について
□投稿者/ 774RR -(2017/07/07(Fri) 20:36:43)
    ポート番号が違うけど大丈夫?
記事No.84444 のレス /過去ログ144より / 関連記事表示
削除チェック/

■84497  SetWindowsHookExが応答しなくなる
□投稿者/ ねこまっしぐら -(2017/07/07(Fri) 18:55:24)

    分類:[.NET 全般] 

    vb.net 2005
    質問しようにも何がどうなってるのかわからないのであれなんですけど…
    ライブラリを作ってそこでマウスをフックしてるのですけど(x86ビルドです)
    XP32bitの時はちゃんと動いてたのに7-64bitだとフックがだんまりになります
    それも起動してすぐダメな時もあれば1-2時間ちゃんと動いてからダメになる
    時もあり平均して2-30分ってとこでしょうか
    そうなった時にUnHookしてまたセットすると正常に動き出します
    (まあそれも2-30分の寿命ですが)
    エラーコードも何も吐かないし何が悪いのかさっぱりです
    何かヒントでもありますでしょうか

    <DllImport("User32.dll", CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.StdCall)> Public Overloads Shared Function SetWindowsHookEx(ByVal idHook As Integer, ByVal HookProc As CallBack, ByVal hInstance As IntPtr, ByVal wParam As Integer) As Integer
    End Function

    hMHook = SetWindowsHookEx(WH_MOUSE_LL, MHookProc, GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), 0)
親記事 /過去ログ144より / 関連記事表示
削除チェック/

■84542  Re[1]: VisualStudioの設定方法教えてください。
□投稿者/ furu -(2017/07/14(Fri) 10:03:56)
    ちょっとしたことってわからないときはわからないものです。

    プロパティウィンドウで
    最上段に「プロパティ」
    二段目に名前とクラス名
    三段目
      左端に「項目別」に並べるボタン
      左から2番目に「アルファベット順」に並べるボタン
    です。
記事No.84536 のレス /過去ログ144より / 関連記事表示
削除チェック/

■86339  キャッシュのヒット率が低くなる理由?
□投稿者/ くまファン -(2018/01/20(Sat) 23:52:22)

    分類:[Windows 全般] 

    CPUには2次キャッシュや1次キャッシュメモリがあります。
    どんな処理によって、キャッシュのヒット率が低くなるのでしょうか。

    ご教授お願い致します
親記事 /過去ログ148より / 関連記事表示
削除チェック/

■86438  Re[11]: ChartのX軸のタイトル表示
□投稿者/ shu -(2018/01/29(Mon) 13:17:06)
    No86436 (mako さん) に返信
    
    
    若干違うかもしれませんが
    以下のようにNullの要素を追加するとそこだけデータがプロットされません。
    時間の項目に文字列を使うのはグラフ上扱いにくいのでグラフ用のDataTableを
    用意されて時間項目はDateTime型にされた方がよいです。
    DataTable1つの場合はDataSetを使う必要はなくDataTable直接でよいです。
    
            _tbl = New DataTable()
            With _tbl.Columns
                .Add("t", GetType(DateTime))
                .Add("y1", GetType(Integer))
                .Add("y2", GetType(Integer))
            End With
    
            With _tbl.Rows
                .Add(Date.Today.AddHours(8).AddMinutes(45), 30, 2)
                .Add(Date.Today.AddHours(9).AddMinutes(0), 20, 3)
                .Add(Date.Today.AddHours(9).AddMinutes(15), 20, 3)
                .Add(Date.Today.AddHours(9).AddMinutes(30), 5, 4)
                .Add(Date.Today.AddHours(9).AddMinutes(45), 10, 8)
                .Add(Date.Today.AddHours(10).AddMinutes(0), 15, 10)
                .Add(Date.Today.AddHours(10).AddMinutes(15), DBNull.Value, DBNull.Value)
                .Add(Date.Today.AddHours(10).AddMinutes(30), DBNull.Value, DBNull.Value)
                .Add(Date.Today.AddHours(11).AddMinutes(15), 5, 3)
                .Add(Date.Today.AddHours(11).AddMinutes(30), 20, 15)
                .Add(Date.Today.AddHours(11).AddMinutes(45), 5, 3)
                .Add(Date.Today.AddHours(12).AddMinutes(0), 10, 8)
                .Add(Date.Today.AddHours(12).AddMinutes(15), 20, 10)
            End With
    
            Chart1.DataSource = _tbl
            With Chart1.ChartAreas(0)
                With .AxisX
                    .Minimum = Date.Today.AddHours(8).AddMinutes(45).ToOADate
                    .Maximum = Date.Today.AddHours(12).AddMinutes(15).ToOADate
                    .IntervalType = DataVisualization.Charting.DateTimeIntervalType.Minutes
                    .Interval = 30
    
    
                    Dim isFirst = True
                    For Each row In _tbl.Select("", "t")
                        Dim dt = row.Field(Of Date)("t")
                        If isFirst OrElse dt.Minute = 0 OrElse dt.Minute = 30 Then
                            With .CustomLabels.Add(dt.AddMinutes(-3).ToOADate, dt.AddMinutes(3).ToOADate, dt.ToString("HH:mm"))
                                .RowIndex = 0
                            End With
                        End If
                        isFirst = False
                    Next
    
    
                End With
            End With
            With Chart1.Series(0)
                .XValueMember = "t"
                .YValueMembers = "y1"
            End With
            With Chart1.Series.Add("")
                .ChartType = SeriesChartType.Line
                .EmptyPointStyle.Color = Color.Transparent
                .XValueMember = "t"
                .YValueMembers = "y2"
            End With
    
記事No.86333 のレス /過去ログ148より / 関連記事表示
削除チェック/

■87965  Re[3]: エクセルの日付を取得したときのデータ型の変換について
□投稿者/ 魔界の仮面弁士 -(2018/07/21(Sat) 11:32:27)
    No87964 (河童 さん) に返信
    > 値としては、
    > 43330.0
    > が入っています。
    Excel の数式バーにも、そう表示されている状態なのでしょうか。
    
    
    > エクセル側で日付のみ入力するようにして
    > 数値の判定はしなくていいようにします。
    「43330.0」なのであれば、DataType プロパティの返却値は
    XLDataType.Number または XLDataType.Text であろうかと思います。
    
    まずは TryGetValue<DateTime> で取得し、それが false を返すようなら
    続けて TryGetValue<Double> で受けるようにすれば、日付でも数値でも受け取れるので、
    数値なら FromOADate で日付化する流れにしてみてはどうでしょう。
    
    
    ただし、日付値を使う場合の注意点として:
    
    (1) Excel で日付値としてとりうる数値リテラルの範囲は、
     Double 精度で「0.0以上 1.0未満」および「1.0 以上 2958465.9999942197 以下」となります。
     負数や 2958465.99999422 以上は日付値として扱うことができません。
    
    (2) OADate 値は「-657434.99999999988 以上 2958465.9999999939 以下」をサポートします。
     -657434.0 以下や 2958465.9999999944 以上は NG です。
     OADate の最大値は、Excel の最大値より 5.7742E-06 だけ大きい値です。
    
    (3) OADate の「61.0 以上」が指す範囲の日付値は、Excel 側の日付値と一致します。
     なお、61.0 は『1900/03/01 00:00:00』を指します。
    
    (4) OADate の「1.0 以上 60.0 未満」が指す範囲の日付値は、Excel 日付の前日を指します。
     Excel 側では 2.0 を『1900/01/02 00:00:00』として扱います。
     OADate側では 2.0 を『1900/01/01 00:00:00』として扱います。
     Excel 側では 1.0 を『1900/01/01 00:00:00』として扱います。
     OADate側では 1.0 を『1899/12/31 00:00:00』として扱います。
    
    (5)「60.0以上 61.0未満」の範囲は、OADate 側では
     『1900/02/28 00:00:00〜1900/02/28 23:59:59』を指しますが、
     Excel 側においては、本来は存在しないはずの うるう日 である
     『1900/02/29 00:00:00〜1900/02/29 23:59:59』を指します。
    
    (6)「0.0以上 1.0未満」の範囲は、OADate 側では
     『1899/12/30 00:00:00〜1899/12/30 23:59:59』を指しますが、
     Excel 側においては、特殊な日付値として
     『1900/01/00 00:00:00〜1900/01/00 23:59:59』を意味します。
記事No.87958 のレス /過去ログ151より / 関連記事表示
削除チェック/

■88338  Re[1]: SerialPort再接続について
□投稿者/ 774RR -(2018/08/22(Wed) 09:57:05)
    bt spp で接続していて PC 側の bt 装置はそのまま動作し続けるんだけど通信相手だけ電源切れる、という状況であるとして

    USB/COM アダプタにおいて COM driver 側の出来の良しあしで動作が違うというのは何度か経験しているっす。 bt でも同じ状況は想定できる。とりあえず「ソフトウエア側だけでなんとかする」提案としては、
    ・通信系の Read/Write では必ずエラーチェックする
    ・エラーが発生したらコネクションを閉じる
    ・閉じている際に再度通信したいときは自動的に Open を試行する
    ようなラッパで一段階包んでみるとか。

    相手先デバイスの inquiry/connect あたりは bt driver stack が勝手にやっちゃうのでオイラたち末端プログラマの制御できるところではなかったりするしいろいろ難しいかも。

    っていうかなぜ切れるの? 接続中に切ったら通信異常になるのは当然の話で、切れないようにするのが対処の方策として正しい方向だと思う。
記事No.88336 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88821  Re[3]: エクスプローラ クイックアクセス ピン留め C#
□投稿者/ 魔界の仮面弁士 -(2018/10/03(Wed) 00:33:46)
    2018/10/03(Wed) 00:47:41 編集(投稿者)

    No88817 (Ante さん) に返信
    > var csidlList = new[] { 13, 14, 39, /* 53, 54, 55, */ };
    > で定義しているものが、下記に一致しているように思えますが

    一つ上の回答と被りますが、これらの値については『CSIDL 値』で検索してみてください。

    VS2017 と共に Windows SDK もインストールしている場合には、
     C:\Program Files (x86)\Windows Kits\10\Include\バージョン
    の下位フォルダにある、ShlObj_core.h もしくは ShlObj.h の
    どちらかを見ることで、CSIDL の定数値を確認できるかと思います。


    > 定数値の一覧等が掲載されたサイトがあれば教示いただけたら嬉しいです。。。
    幾つかの CSIDL 値は、Shell32 の ShellSpecialFolderConstants 列挙型として定義されています。

    参照設定に Microsoft Shell Controls And Automation を加えていれば、
     デスクトップ フォルダーなら Shell32.ShellSpecialFolderConstants.ssfDESKTOP // 0
     デスクトップ ディレクトリは Shell32.ShellSpecialFolderConstants.ssfDESKTOPDIRECTORY // 16
     パブリック デスクトップなら Shell32.ShellSpecialFolderConstants.ssfCOMMONDESKTOPDIR // 25
    という具合に。
    http://msdn.microsoft.com/en-us/library/bb774096.aspx

    しかしこの ShellSpecialFolderConstants にはバグがありまして、
    ssfPROGRAMFILESx86 という列挙値の数値が
    本来は 42 で無ければならないのにも関わらず、
    誤って 48 (Windows 管理ツール を意味する)と誤定義されていたりします。

    ちなみに Windows SDK 上での定義はこんな感じ。

    #define CSIDL_PROGRAM_FILESX86 0x002a
    #define CSIDL_ADMINTOOLS 0x0030


    > 以下の3つについて、
    > ・ダウンロード
    > ・デスクトップ
    > ・ドキュメント
    デスクトップ や ドキュメント など、Windows XP 以前からあるものは
    CSIDL が使えますが、ダウンロードのように Vista 以降で追加されたものは
    KNOWNFOLDERID として定義されています。
    https://docs.microsoft.com/ja-jp/windows/desktop/shell/knownfolderid


    var targets = new object[]
    {
      // 17, // PC
      // "shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", // PC
      // "shell:thisdevicefolder", // このデバイス

      // 0, // デスクトップ(仮想フォルダー)
      // "shell:::{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}" // デスクトップ(仮想フォルダー)
      "shell:desktop", // デスクトップ(ディレクトリ)
      // 16, // デスクトップ(ディレクトリ)
      //// 25, // パブリック デスクトップ(ディレクトリ)
      //// "shell:common desktop", // パブリック デスクトップ(ディレクトリ)

      "shell:documentslibrary", // ドキュメント(ライブラリ)
      // 5, // ドキュメント
      // "shell:::{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}", // ドキュメント
      // "shell:::{D3162B92-9365-467A-956B-92703ACA08AF}", // ドキュメント
      "shell:personal", // ドキュメント
      // "shell:local documents", // ローカル ドキュメント
      // "shell:common documents", // パブリック ドキュメント

      // "shell:::{374DE290-123F-4565-9164-39C4925E467B}", // ダウンロード
      // "shell:::{088E3905-0323-4B02-9826-5D99428E115F}", // ダウンロード
      "shell:downloads", // ダウンロード
      // "shell:local downloads", // ローカル ダウンロード
      "shell:commondownloads", // パブリック ダウンロード

      // "shell:::{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}", // 3D オブジェクト
      "shell:3d objects", // 3D オブジェクト

      // "shell:libraries", // ライブラリ
      // "shell:userslibrariesfolder", // ライブラリ
      // "shell:quick launch", // Quick Launch
      //// "shell:user pinned", // ジャンプリスト 固定メニュー
      // "shell:public", // パブリック

      "shell:musiclibrary", // ミュージック(ライブラリ)
      // 13, // ミュージック
      // "shell:::{1CF1260C-4DD0-4EBB-811F-33C572699FDE}", // ミュージック
      // "shell:::{3DFDF296-DBEC-4FB4-81D1-6A3438BCF4DE}", // ミュージック
      "shell:my music", // ミュージック
      // "shell:local music", // ローカル ミュージック
      // 53, // パブリック ミュージック
      "shell:commonmusic", // パブリック ミュージック
      // "shell:samplemusic", // サンプル ミュージック

      "shell:videoslibrary", // ビデオ(ライブラリ)
      // 14, // ビデオ
      // "shell:::{A0953C92-50DC-43BF-BE83-3742FED03C9C}", // ビデオ
      // "shell:::{F86FA3AB-70D2-4FC7-9C99-FCBF05467F3A}", // ビデオ
      "shell:my video", // ビデオ
      // 55, // パブリック ビデオ
      "shell:commonvideo", // パブリック ビデオ
      // "shell:samplevideos", // サンプル ビデオ

      "shell:pictureslibrary", // ピクチャ(ライブラリ)
      // 39, // ピクチャ
      // "shell:::{3ADD1653-EB32-4CB0-BBD7-DFA0ABB5ACCA}", // ピクチャ
      // "shell:::{24AD3AD4-A569-4530-98E1-AB02F9417AA8}", // ピクチャ
      "shell:my pictures", // ピクチャ
      // "shell:local pictures", // ローカル ピクチャ
      // 54, // パブリック ピクチャ
      "shell:commonpictures", // パブリック ピクチャ
      // "shell:samplepictures", // パブリック\サンプル ピクチャ

      "shell:accountpictures", // アカウントの画像
      //// "shell:publicaccountpictures", // パブリック アカウントの画像

      "shell:camerarolllibrary", // カメラロール(ライブラリ)
      // "shell:::{3ADD1653-EB32-4CB0-BBD7-DFA0ABB5ACCA}\\camera roll", // ピクチャ\カメラ ロール
      // "shell:::{24AD3AD4-A569-4530-98E1-AB02F9417AA8}\\camera roll", // ピクチャ\カメラ ロール
      "shell:camera roll", // ピクチャ\カメラ ロール

      "shell:savedpictureslibrary", // 保存済みの写真(ライブラリ)
      "shell:savedpictures", // ピクチャ\保存済みの写真

      // "shell:::{018D5C66-4533-4307-9B53-224DE2ED1FE6}", // OneDrive
      "shell:onedrive", // OneDrive
      "shell:onedrivepictures", // OneDrive の画像
      "shell:onedrivedocuments", // OneDrive のドキュメント
      // "shell:onedrivecameraroll", // OneDrive の画像\カメラ ロール
      // "shell:onedrivemusic", // OneDrive のミュージック
    };

    dynamic shell = Activator.CreateInstance(Type.GetTypeFromCLSID(
      new Guid("13709620-C279-11CE-A49E-444553540000")));

    var verbName = "pintohome";

    foreach (var vDir in targets)
    {
      var folder = shell.NameSpace(vDir);
      if (folder != null)
      {
       var item = folder.Self;
       item?.InvokeVerb(verbName);
       Release(item);
      }
      Release(folder);
    }
    Release(shell);


    https://docs.microsoft.com/en-us/windows/desktop/shell/shell-namespace
    http://www10.plala.or.jp/palm84/archives/wsh/Windows_CreateShellCommandsShortCut.vbs.txt
記事No.88813 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89942  パネルの自動スクロールを止めたい
□投稿者/ TK-C -(2019/01/23(Wed) 09:49:20)

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

    開発言語
    VisualStdio2012 VisualBasic

    フォーム上に、パネルを設置
    パネル内
    質問年月日:テキストボックス
    質問内容:テキストボックス
    回答1:テキストボックス
    回答2:テキストボックス
    回答3:テキストボックス
    回答4:テキストボックス
    回答5:テキストボックス

    パネル外
    編集ボタン:ボタン
    登録ボタン:ボタン

    パネルのAutoScrollはTrueにし、画面をスクロールして回答1〜5を閲覧するようになっています。

    通常は回答1〜5は編集不可(ReadOnly = True)としていますが、
    編集ボタンを押下する事で、編集可(ReadOnly = False)としています。

    編集ボタンを押下した際、最上段の質問年月日にフォーカスをあてています
    (マウスホイールでスクロール出来るようにする為)

    パネルのスクロールバーを移動させた後、編集ボタンをクリックすると、
    パネル内の最上段にフォーカスがある為、自動で最上段までスクロールされてしまいます。

    編集ボタンを押下してもスクロール位置を保持したいのですが方法が分かりません。
    (自動スクロールをしたくない)

    御存知の方いらっしゃいましたら教えていただけませんでしょうか?
親記事 /過去ログ155より / 関連記事表示
削除チェック/

■89945  Re[1]: パネルの自動スクロールを止めたい
□投稿者/ Hongliang -(2019/01/23(Wed) 10:22:00)
    フォーカスを当てる目的が
    > (マウスホイールでスクロール出来るようにする為)
    なのであれば、パネルに対してFocus()するようにすればいいかと思います。
    この場合、そのまま入力を開始することができない(TABキーなりマウスなりでどこかのテキストボックスにフォーカスを移動させる必要がある)のが難点ですが。

    あるいは、テキストボックスにFocus()する前にパネルのAutoScrollPositionを取って置き、
    Focus()後にパネルのAutoScrollPositionを改めて設定する方法も考えられます。
    // AutoScrollPositionは取得と設定で正負が逆になるのに注意。
    この場合、そのまま入力を開始してもテキストボックスが画面外のままなのが難点でしょうか。TextChangedイベントでパネルのScrollControlIntoViewするという回避策はありますが。
    あと稀に画面がちらつく(パネルのオートスクロールの行き来が一瞬画面に映る)というのも。
記事No.89942 のレス /過去ログ155より / 関連記事表示
削除チェック/

■89944  Re[1]: パネルの自動スクロールを止めたい
□投稿者/ せば -(2019/01/23(Wed) 10:14:51)
    良い悪いはとりあえず置いておいて
    質問年月日にフォーカスを当てるのをやめて
    パネルにフォーカスを当てるのはどうでしょうか?
記事No.89942 のレス /過去ログ155より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 >>

パスワード/

- Child Tree -