デスクトップ上のすべてのメイン・ウィンドウを列挙するには、Win32 APIではEnumWindows関数を利用するが、.NET Frameworkのクラス・ライブラリでは、同等の機能をProcessクラス(System.Diagnostics名前空間)を利用して実現できる。 具体的には、実行中のすべてのプロセス(Processオブジェクト)を取得して、それぞれのプロセスがメイン・ウィンドウを持っているかどうかをチェックすればよい。 メイン・ウィンドウの有無は、各プロセスに対して、メイン・ウィンドウのウィンドウ・ハンドル(MainWindowHandleプロパティ)が設定されているかどうかを調べる。もし、MainWindowHandleプロパティの値が「IntPtr.Zero」(=未設定)であれば、そのプロセスはメイン・ウィンドウを持っていないことを意味する。 if (p.MainWind
更新 : 2007 年 11 月 配列に含まれる多数の部分文字列を結合して作成される文字列を返します。 Function Join( ByVal SourceArray() As { Object | String }, Optional ByVal Delimiter As String = " " ) As String パラメータ SourceArray 必ず指定します。結合する部分文字列を含む 1 次元配列を指定します。 Delimiter 省略可能です。戻り値となる文字列を部分文字列に区切るのに使用する文字列を指定します。省略すると、スペース (" ") が使用されます。Delimiter が長さ 0 の文字列 ("") かまたは Nothing である場合は、リスト内のすべての項目が区切り文字なしで連結されます。 例外 例外の種類 エラー番号 条件 非構造化エラー処理を使用する
When you create a ClickOnce application and then give it to a customer to publish and deploy, the customer has traditionally had to update the deployment manifest and re-sign it. While that is still the preferred method in most cases, the .NET Framework 3.5 enables you to create ClickOnce deployments that can be deployed by customers without having to regenerate a new deployment manifest. For more
開発サポートを行っているのですが、最近はデジタル署名に関する問い合わせをよく受けます。 社内で Vista & 2008 対応製品の開発が進んでいるという裏付けにもなります。ただ、残念なのが デジタル署名に関する知識が不足しているなぁと感じることです。どうも 「あの面倒な UAC の権限昇格ダイアログがあるので、とりあえず、デジタル署名しておこう」 という感じで、本来の意味ではなく、仕方なしにデジタル署名をするという方が多いようです。そもそも、デジタル署名って あなたに提供するファイルは、改ざんされていないことを証明します! という改ざん防止を目的としているために、発行元を表示するわけで…。別に UAC があるからっていうよりも本来の意味を知ってほしいものです。 ちなみに、署名するのは、最終的にビルドした人(会社)でないと意味ないです。ビルドした人でなければ、証明できないですからね。 さて
今回は文字列について取り上げ、比較的よく用いられるであろういくつかのパターンを簡単なコードとともにまとめてみる。 C#では、文字列をstring型として扱うことができる。これは実際にはSystem.String型のオブジェクトであり、オブジェクト内部では、文字列はUnicode文字として扱われる。 文字列はUnicode 次のプログラム・コードでは、2つの文字列オブジェクトを生成し、その文字列の長さを3つの方法でコンソールに表示している(以下に示したのは、解説に必要なコードの一部分である。プログラム全体はここ(string.cs)からダウンロードできる)。 11: string s1 = "うらにわにはにわにわにはにわにわとりがいる"; 12: String s2 = "うらにわには2わにわには2わにわとりがいる"; 13: 14: Console.WriteLine("s1の長さ:" +
ソケット入門 ソケットは、一般的に、ネットワーク全域に渡る通信のエンド ポイントを定義します。1 つのソケットで、任意の数のプロトコルと対話できます。現在、最も一般的なプロトコルは、User Datagram Protocol (UDP) と Transmission Control Protocol (TCP) です。 UDP ソケットはコネクションレスで、通常は、ブロードキャスト通信およびマルチキャスト通信に利用されています。UDP には、メッセージのトランスポートや順序を保証するための規定がありません。パケットの損失やパケット順序に関する検出と処理は、エンド アプリケーションに一任されます。 TCP ソケットはコネクション指向で、2 つのエンドポイント間に、信頼できる通信路を提供します。TCP の強みは、確実にメッセージを配信できることと、メッセージの順序を適切に処理できる点です。こ
いつもお世話になっております。 開発環境は、VisualBasic2005 , Oracle 9.2.0.8.0 , Oracle 10.1.0.4.0 です。 9iのデータベースは、他の場所にあります。(社内にはありません。) VB2005(ODP.NET2.0)を使用して、アプリケーションを作成しております。 非接続型である、OracleDataAdapterをコード内にて、New で宣言し、DataSetを作成。そして、そのDataSetを使用して、DataGridViewにデータバインドを行っております。 非接続型であるといっても、セッションが開始されていると認識しており、9iのデータベースは、ある一定の時間が経過したら、セッションを切断される仕組みになっているそうです。 アプリケーションにて、検索結果を表示し、ユーザーの入力が終了するまでにセッションが切断されてしまって表題のエラ
Recommendations on how to design and develop custom applications using the Microsoft platform Each patterns & practices offering contains a combination of written documentation and re-usable source code. Many also include a reference implementation. As the guidance is being developed it is reviewed and approved by internal Microsoft product teams and by external customers and partners. This produc
パスワードで文字列を暗号化するここでは、共通鍵暗号(共有キー暗号、対称鍵暗号、秘密鍵暗号、慣用暗号)方式によって、パスワードを使って、ファイルを暗号化、復号化する方法を説明します。 パスワードを使って文字列を暗号化、復号化する方法は「パスワードでファイルを暗号化する」とほぼ同じですので、詳しくはそちらをご覧いただくことにして、ここではサンプルのコードだけを紹介します。 ただし、「パスワードでファイルを暗号化する」とは違い、ここではICryptoTransform.TransformFinalBlockメソッドを使って暗号化と復号化を行っています。もしTransformFinalBlockメソッドを使わずに、「パスワードでファイルを暗号化する」のようにCryptoStreamを使うのであれば、「パスワードでファイルを暗号化する」のコードで、FileStreamの代わりにMemoryStrea
DataGridViewにはセルをコピーするプロパティは実装されていますが、 ペーストする機能は実装されていません。(実装してよMS…) ユーザーからそういう要望が出て、仕方ないガチンコで作るかと思っていたら すでに作られた方がいたようです。 DataGridViewに便利なメソッドを追加するサンプル(VB.NET) このDataGridViewPlusを使えばコピー&ペーストができます。 複数セルを選択してのコピペにも対応しているようで素晴らしいです。 ただ、バインドしたDataGridViewには対応していない模様… DataGridViewはテーブルなどをバインドした場合、 RowCountを変更できないので --------------------------------------------------- ' 行追加モード&最終行の時は行追加 If y + r = dgv.Ro
注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。 DataGridView.ClipboardCopyModeプロパティがDataGridViewClipboardCopyMode.Disable以外のときは、「Ctrl + C」キーを押すことにより、選択されたセルがクリップボードにコピーされるようになります。形式は、Text、UnicodeText、Html、CommaSeparatedValue(CSV)の4種類です。TextとUnicodeTextは、タブ区切り(TSV)形式のデータです。 ClipboardCopyModeによって、ヘッダーをコピーするかどうかを決めることができます。EnableAlwaysIncludeHeaderTextではヘッダーもコピーされ、EnableWithoutHeaderTextではコピーされ
If you use Internet Information Services (IIS) on Windows Server, and your deployment contains a file type that Windows does not recognize, such as a Microsoft Word file, IIS will refuse to transmit that file, and your deployment will not succeed. Additionally, some Web servers and Web application software, such as ASP.NET, contain a list of files and file types that you cannot download. For examp
.Net Framework 3.5 SP1(以下.Net3.5SP1)をセットアッププロジェクトのプロパティで必須コンポーネントとして「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」設定するとコンパイル時にエラーが出ます。 警告: 項目 'Windows インストーラ 3.1' は '.NET Framework 3.5 SP1' で必要ですが、含まれていませんでした。 エラー: 必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 '.NET Framework 3.5 SP1' のファイル 'DotNetFX35SP1\dotNetFX20\aspnet.msp' がディスクに見つかりません。詳細については、ヘルプを参照してください。 これはVisualStudio 2008 SP1の.Net3.5SP
VisualStudio2008(ASP.NET)でCrystal Report使用時にはまったこと。 VisualStudio2008(ASP.NET)でCrystal Report使用時にはまったこと。 基本的な使い方はここに書いてました。 クライアントでの開発後、サーバー機で実行しようとするとエラーが出た。 クリスタルレポートモジュールが足りないエラーです。 <add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken・・・ クリスタルレポートモジュール(10.5.3700.0)をインストールすれば解決なのですが、このダウンロードモジュールがなかなか、見つかりませんでした。 ネットで探すと、以下ばかりヒットしますが、これは「10.5
.NET Frameworkでは、イベント・ハンドラやコールバックの機能を「デリゲート」を用いて実現する。このため、「デリゲートはイベントを実現するため(だけ)に存在する仕組みである」とか、「デリゲートは関数ポインタと同義である」などの誤解が見られる。デリゲートは確かに理解しづらい機能であり、またオブジェクト指向プログラミングにそぐわない機能でもあるかもしれない。だが、いずれにしろデリゲートはC#やVisual Basic .NET(以下VB.NET)などの言語でサポートされており、これらの言語を使用してアプリケーションを構築する際には押さえておかなければならない重要なポイントである。ここではいま一度、デリゲートを利用したプログラミング方法やデリゲートがもたらす機能についてまとめてみる。 通常のメソッド呼び出し .NET Frameworkにおいては、ある機能を実行するにはメソッドを呼び出
第4回 デッドロックの回避とスレッド間での同期制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(後編) ―:連載.NETマルチスレッド・プログラミング入門(2/3 ページ) スレッド同士を協調動作させる「同期制御」 マルチスレッドは処理を並行して同時実行する技術であるが、場合によってはそのスレッド同士がタイミングを計って協調動作しなければならないときがある。このような制御を「同期制御」と呼ぶ。同期制御の実現にはいくつかの方法が用意されているが、ここでは代表的な手法であるWait/Pulse方式を使用した同期制御の方法を紹介する。 ■Wait/Pulse方式(Monitorクラス)によるスレッドの同期制御 同期制御を行うための便利な機能として、Monitorクラス(System.Threading名前空間)には、Wait/Pulse/PulseAllという静的メソッドが用意
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く