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

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

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

全過去ログを検索

<< 0 >>
■8479  comboBoxから
□投稿者/ シェリー -(2007/10/01(Mon) 13:52:36)

    分類:[C#] 

    C#初心者です。comboBoxで選んだ項目をtextBoxに表示したいのですが、どうプログラムを組めばいいでしょうか?
親記事 /過去ログ20より / 関連記事表示
削除チェック/

■52270  Re[6]: 「わんくま同盟メンバの最新の記事」のRSS
□投稿者/ 中 博俊 -(2010/08/04(Wed) 17:55:44)
    ひどりさんところで配信してる掲示板のRSSは全文、しかもレスまで全部なので非常に便利すなー

    RSS1日1000件くらいは読んでるのでいちいちサイトに飛ばなきゃいけないところの情報はほとんど読まないので、全文のほうがいいやねー

    なんだこりゃ。インスコ記事かよ。うぜ!
    ってなったら飛ばしちゃえばいいだけだしなー<僕の場合は
記事No.52255 のレス /過去ログ88より / 関連記事表示
削除チェック/

■69039  Re[2]: CapsLock押下時のKeyイベント順序について
□投稿者/ ムドー -(2013/11/29(Fri) 11:13:34)
    No69014 (Hongliang さん) に返信
    > キーボードおよびキーボードドライバによる、じゃないですかね。
    >
    > 今の私の環境はDELLのSK-8115というUSBキーボード+Win7の標準ドライバですが、
    > [英数]キーと[ひらがな]キーが排他でトグルされるようになっています。
    > つまり
    > ・[英数]キーと[ひらがな]キーのどちらかが常にトグル中
    > ・[英数]キーがトグル中のときに[ひらがな]キー
    >  →[英数]キーアップ+[ひらがな]キーダウン、[ひらがな]キートグル中に、[英数]キートグル解除
    > ・[英数]キーがトグル中のときに[英数]キー
    >  →[英数]キーダウン、[英数]キートグル継続
    > という動作を示しています。
    >
    > // Win32APIのGetKeyboardState関数で定期的に監視してると腑に落ちるかも。

    Hongliang さん返信ありがとうございます。

    あーそういうことか
    イメージは理解できたので監視プログラム作ってやってみますね。(別件が入ったので報告遅くなるかも・・・)
記事No.69012 のレス /過去ログ117より / 関連記事表示
削除チェック/

■78291  Re[5]: ウェブサイトから取得したHtmlソースの欠損
□投稿者/ Azulean -(2016/01/04(Mon) 21:55:46)
記事No.78280 のレス / END /過去ログ132より / 関連記事表示
削除チェック/

■91214  Re[2]: VB.NETからC++のdll関数への参照渡しについて
□投稿者/ まる -(2019/06/06(Thu) 12:15:07)
    No91202 (魔界の仮面弁士 さん) に返信
    魔界の仮面弁士さん、早速のご回答ありがとうございます。
    いつも様々な場所でのご回答に幾度となく助けられております。
    本題と関係なく申し訳ございませんが、この場を借りてお礼申し上げます。

    > Declare して使うタイプの DLL ではなく、
    > 参照設定して使う ActiveX DLL ということでしょうか。
    はい。oleのdllで、regsvr32で登録したものをプロジェクトからCOM参照しております。

    > ActiveX DLL の場合はタイプライブラリ次第かな…。
    ActiveXに対して不勉強のため、正しいかどうかわかりかねているのですが、
    odlファイルにてタイプライブラリの作成に必要なものが記載されているようでした。
    cpp,hpp,odlそれぞれに記載されたAAAの宣言を編集する必要がある、という事でしょうか…?
記事No.91199 のレス /過去ログ157より / 関連記事表示
削除チェック/

■91223  Re[3]: VB.NETからC++のdll関数への参照渡しについて
□投稿者/ 魔界の仮面弁士 -(2019/06/06(Thu) 15:20:06)
    2019/06/07(Fri) 11:30:36 編集(投稿者)

    ※Console.WriteLine 時にスペルミスしていたので、コードを再整理

    No91214 (まる さん) に返信
    > VB6ではなぜ上手くいき

    参照設定で配列を渡す場合は、SAFEARRAY や VARIANT で丸ごと受け渡していたので、
    配列の先頭要素を参照渡しする方法は経験が無いのですよね…。

    Declare な方では、先頭要素を参照渡しする方法も良く使っていたのですが。


    > cpp,hpp,odlそれぞれに記載されたAAAの宣言を編集する必要がある、という事でしょうか…?

    C++ 側は専門外なので、こっちは何とも。


    >>> Dim objHandle As GCHandle = GCHandle.Alloc(shtArray(0),GCHandleType.Pinned)
    >>> Dim intPinned As Intptr = objHandle.AddrOfPinnedObject()


    intPinned をどうやって DLL に渡すのかが読み取れなかったのですが、
    先頭要素だけを Pinned しても駄目だと思います。


    Imports System.Runtime.InteropServices
    Module Module1

      Sub Main()
        Dim bin As Byte() = {&H11, &H22, &H33, &H44, &H55, &H66, &H77, &H88, &H99, &HAA, &HBB, &HCC, &HDD, &HEE, &HFF}
        'Dim bin As Byte() = {&HFE, &HDC, &HBA, &H98, &H76, &H54, &H32, &H1F, &HED, &HCB, &HA9, &H87, &H65, &H43, &H21}

        Console.WriteLine("=== bin (サンプルデータ) ===")
        Dump(bin)

        ' bin よりも少し大きめに確保
        Dim ary1 As Short() = Enumerable.Repeat(&H1234S, 20).ToArray()
        Dim ary2 As Short() = Enumerable.Repeat(&H1234S, 20).ToArray()

        Console.WriteLine("=== Short 配列全体を Pinned した場合 ===")
        Dim h1 As GCHandle = GCHandle.Alloc(ary1, GCHandleType.Pinned)
        CopyMemory(bin, h1)
        h1.Free()

        Console.WriteLine("=== Short 配列の先頭要素だけを Pinned した場合 ===")
        Dim h2 As GCHandle = GCHandle.Alloc(ary2(0), GCHandleType.Pinned)
        CopyMemory(bin, h2)
        h2.Free()

        Console.WriteLine("=== ary1 は書き換わっている ===")
        Dump(ary1)

        Console.WriteLine("=== ary2 は書き換わらない ===")
        Dump(ary2)

        Console.ReadLine()
      End Sub

      Sub CopyMemory(source As Byte(), h As GCHandle)
        Dim t As Type = h.Target.GetType()
        Console.WriteLine("Target Is {0} / {1}", TypeName(h.Target), t.Name)
        Dim et As Type = If(t.IsArray(), t.GetElementType(), t)
        Dim sz As Integer = Marshal.SizeOf(et)
        Dim p As IntPtr = h.AddrOfPinnedObject()
        Console.WriteLine("p => 0x{0:X} (address)", p)

        Console.WriteLine("--- コピー前 ---", p)
        Console.WriteLine("p = 0x{0:X}", Marshal.ReadInt64(p))
        For n = 0 To 3
          Console.WriteLine("p[{0}] = 0x{1:X}", n, Marshal.PtrToStructure(IntPtr.Add(p, n * sz), et))
        Next

        Marshal.Copy(source, 0, p, source.Length)

        Console.WriteLine("--- コピー後 ---", p)
        Console.WriteLine("p = 0x{0:X}", Marshal.ReadInt64(p))
        For n = 0 To 3
          Console.WriteLine("p[{0}] = 0x{1:X}", n, Marshal.PtrToStructure(IntPtr.Add(p, n * sz), et))
        Next
      End Sub

      Sub Dump(Of T As Structure)(ary As T())
        Dim bytes As Integer = Marshal.SizeOf(Of T)()
        Console.Write(" Len={0}:", bytes * ary.Length)
        Dim fmt As String = " {0:X" & CStr(2 * bytes) & "}"
        For Each x As T In ary
          Console.Write(fmt, x)
        Next
        Console.WriteLine()
      End Sub
    End Module
記事No.91199 のレス /過去ログ157より / 関連記事表示
削除チェック/

■91224  Re[4]: VB.NETからC++のdll関数への参照渡しについて
□投稿者/ とっちゃん -(2019/06/06(Thu) 15:56:48)
    No91214 (まる さん) に返信
    >>ActiveX DLL の場合はタイプライブラリ次第かな…。
    > ActiveXに対して不勉強のため、正しいかどうかわかりかねているのですが、
    > odlファイルにてタイプライブラリの作成に必要なものが記載されているようでした。
    > cpp,hpp,odlそれぞれに記載されたAAAの宣言を編集する必要がある、という事でしょうか…?

    C++のDLL(ActiveX コントロール)はそのまま使う想定ですか?
    もしそのCOMDLLをそのまま使うのなら、開発マシンに登録して(しておかないと参照できない)
    参照で追加すればいいと思います。

    そのうえで、VB.NET から見えるインターフェース定義を改めて確認し
    どういう風に変更すればいいかを見極めたほうが安定します。

    VB6のCOM呼び出しは、当時のVB自身の仕組みの効果もあり信じられないくらい
    それで行けるのか?という項目があるので、ちょっと怪しい独自COMの場合
    移植不可能というのがあります。

    No91223 (魔界の仮面弁士 さん) に返信
    > Declare な方では、先頭要素を参照渡しする方法も良く使っていたのですが。
    >
    基本は一緒です。
    ただ、declare しないから、取り込まれた定義に合わせた書き方にする必要があるというくらいかな。
    どういう風に取り込まれるかで書き方も変わるので何とも言えないところもありますけど。
記事No.91199 のレス /過去ログ157より / 関連記事表示
削除チェック/

■101597  Re[8]: サーバサイドでの管理者権限でのアプリ実行
□投稿者/ HattariB -(2023/03/18(Sat) 15:37:03)
    No101596 (WebSurfer さん) に返信

    > どう考えると「管理者権限を突破」とか「悪意みたいなもんに具体性を与えて」といういう
    > 話になるのですか?
    正しい管理者権限を持っているなら、クライアントから実行させた際に、サーバー側にもその権限を
    移譲できるんじゃ無いすか?

    サーバーサイドで動作するバッチファイルが、それを実行させたプロセスから離れているので
    管理者権限が消えてるんじゃぁ無いすか?
    もしくはアクセスしたセッションそのものに管理者権限がなかったんじゃぁ無いの?

    httpプロトコルではなく、httpsプロトコルだったら管理者権限が消える事は無いと思うんだけど、
    サーバーサイドで起動したバッチに管理者権限が必要だという事は、
    アクセスしたセッションが管理者では無いという事だと思ったんですよ。

    だから、httpで、管理者権限無しでアクセスして、管理者が実行できないバッチファイルが、実行できない事は、
    セキュリティが動いているという事で、「そのセキュリティを突破するにはどうしたら?」という
    主旨だと読んだんですよ。わたしわ。

    > 管理者権限を与えるケースもないわけではないのですよ。
    そうか。IISではhttpプロトコルに対しても任意に管理者権限を与える事が出来るのか。


    ・・・・まずくないすか?
記事No.101584 のレス /過去ログ177より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -