Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

What is Edit? Edit is a new command-line text editor in Windows. Edit is open source, so you can build the code or install the latest version from GitHub! This CLI text editor will be available to preview in the Windows Insider Program in the coming months. After that, it will ship as part of Windows 11! How to use Edit Open Edit by running edit in the command line or running edit <your-file-name>
Windows グラフィックス デバイス インターフェイス (GDI) と GDI+ 描画操作を同じコード パスに混在させるのが望ましい場合があります。 この記事では、GDI と GDI+ の連携を可能にするコードを記述するのに役立つヒントを提供します。 元の製品バージョン: Windows グラフィックス デバイス インターフェイス 元の KB 番号: 311221 まとめ GDI と GDI+ コードを混在させると、特定の規則が適用されます。 たとえば、1 つのターゲット オブジェクトに対して GDI と GDI+ の呼び出しをインターリーブしないでください。 HDC の周囲に Graphics オブジェクトをラップしてもかまいませんが、Graphics オブジェクトが破棄されるまで、GDI から直接 HDC にアクセスしないでください。 この記事では、GDI と GDI+ の間の相互
(追記:2020/5/26) COMについて、細々とですがこのページに誘導されてくるのが分かっています。もっとわかりやすく包括的に書いたページがありますが、残念ながら、なぜか検索エンジンのレートから外されているため、ここで案内しておきます。「ChalkTalk CLR – COMのすべて」 を最初に見ることをお勧めします。 ずいぶんご無沙汰になってしまった。未だにCoInitializeExとかRPC_E_CHANGED_MODEで検索してくる方が絶えないので、少しだけ続きを書く。 前回、アパートメントの種類は、ライブラリの呼び出し元(正確にはスレッドを生成したコードの設計者)が知っているはずと述べた。だが、現実には、STAとMTAのどちらを使用すべきか、はっきり分かっていない開発者が多いと思う。 また、STAは重く、MTAにすれば軽いと、「まことしやかに」ささやかれていたりもする。もっと
本日は「ChalkTalk CLR – COMのすべて」と題して、COM(Component Object Model)についてのディスカッションを行ってきました。 参加された方はCOM方面に強い方が半数近くいて(MVP4人、元MVP2人、中には現役で開発やってるという人も)、とにかくこれ以上ないぐらい強力なメンバーで、濃い議論が交わされました。多分、もうこういう企画は無いかな感全開 (;´Д`) 遠方からの参加もありがとうございます。 ChalkTalkバンジャーイ この記事では、内容を「要約」して記載します。図については内容を考えて起こしなおしました。 前回と同じく、Maker Lab NAGOYAさんのスペースをお借りしました。ありがとうございました。 事前の洗い出し まず、各参加者のCOMに対してのスキルセットを「バリバリ解説OK」~「COMって何」のレベルで、かつ自分がCOM
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 対象とする読者について 本記事の対象者としては以下のような人を想定しています。 C#でこれからWin32APIを使ってみたい。 C言語のことがあまりよく分かっていない。 今までは適当に使っていたので一度きちんと理解したい。 自分が同じような状況であったため、一から調べて整理してみました。自分が理解した順番や内容で記載することで、また、具体的な使用例によってできることの広さや動作を感じ取ってもらうことで、理解の助けになればと思っています。 但し、分かっている人からすると冗長な説明になっている部分や好ましくない内容、正確性に欠ける
Windowsには,GDIベースのアプリケーションが高解像度ディスプレイでも鮮明に表示されるようにするための表示スケールという仕組みがあります。GDIは,Windowsネイティブアプリで2Dグラフィックを描画するための標準的なAPIのひとつで,高解像度ディスプレイ以前から存在し,テキスト・アイコン・図形・画像といった2Dグラフィックを常に96 DPIで描画するように設計されています。GDIで描画した画面が高解像度ディスプレイで縮小されないようにするためには,実際のDPIに合わせて画像を拡大する必要があります。画面がぼやけて表示されるのはそのためです。 Creators Update(Windows 10 1703)では,この現象を改善するため,GDIスケーリングという仕組みが導入されました。アプリの表示スケールの修正で表示がぼやける可能性があるといわれている一部のデスクトップアプリは,GD
To program effectively with Windows graphics, you must understand two related concepts: Dots per inch (DPI) Device-independent pixel (DIPs). Let's start with DPI. This will require a short detour into typography. In typography, the size of type is measured in units called points. One point equals 1/72 of an inch. 1 pt = 1/72 inch For example, a 12-point font is designed to fit within a 1/6" (12/72
Windows Vista以降のWindows OSでは、UAC(ユーザー・アカウント制御)という権限モデルが採用されている。この権限モデル下では、管理者権限が必要なアプリケーションやタスクを実行する際には、ユーザーに権限を昇格してもらう必要がある。 例えばボタンをクリックした後の処理で、このような権限の昇格が必要な場合には、そのボタンに盾(シールド)アイコンを表示することが一般的である。次の画面はその例である。 このような盾アイコンをボタンに表示するには、Win32 APIのSendMessage関数を呼び出して、そのボタンにメッセージを送ればよい(Win32 APIの呼び出し方法は、「TIPS:Win32 APIやDLL関数を呼び出すには?」を参考にされたい)。今回の使用例におけるSendMessage関数の各パラメータの指定内容は下記のとおり。 SendMessage関数 ・第1パラ
C# 配信でちょくちょく出てくる話題の1つに 「Visual Studio (for Windows)はいまだに .NET Framework だから」 というものがあります。 もちろん、「.NET Core 化はよ」みたいな文脈です。 Visual Studio は .NET 製アプリの中でも大規模なものの1つなわけで、ドッグフーディング的な意味で早く .NET Core 化してほしいというのもありますし。 .NET Framework → .NET 5 → .NET 6 → .NET 7 と、毎度2・3割は速くなってるというベンチマークがあるわけで合計すると2倍以上速いかもしれず、 普通にパフォーマンス上の理由でも早く .NET Core 系になってほしかったりもします。 そしてもう1個、 実は .NET Framework の方は Unicode 8.0 で止まっているという話があっ
とても便利なのですが、逆に実際にそのフォントにグリフが入っているかどうかがわかりにくいという欠点もあります。例として、CJK統合漢字の「俞(U+4FDE)」をMSのIMEパッドで見てみると、一見このグリフがメイリオに入っているように見えます。メモ帳などで指定してみてもきちんと表示できます。 ところが実際にはこのグリフはメイリオには入っていないので、たとえばPDFでメイリオフォントを埋め込みにして作成しても、この文字は表示されません。PDFのフォント埋め込みは、OS等に依存せず別の環境に持って行ったときにも同じように表示されることを目的としていますから、当然といえば当然なのですが、困ってしまいますね。 あるグリフが指定したフォントに入っているか調べるツールとして、Windowsには「文字コード表」が入っています。先ほどのU+4FDEは、 図のように、「保(U+4FDD)」の次に「俟(U+4F
LLDBでデバッグする 前回までのセットアップで、Visual Studio CodeでCのソースコードがビルドできるようになった。さらに便利な状況にセットアップできるのだが、まずは先に基本的な機能をすべて整えてしまそう。次はVisual Studio CodeでLLDBを使ったデバッグができるように設定する。 LLDBはLLVMプロジェクトの一環として開発されているデバッガだ。CコンパイラとしてLLVM/Clangを使う際に、デバッガとしてLLDBを使うというのは相性がよい。複数のプラットフォームで動作し、Visual Studio Codeから使えることはもちろん、CUIコマンドで使うこともできる。 Visual Studio CodeでLLDBを使う方法はいくつかあるが、最も簡単なのは「CodeLLDB」と呼ばれるVisual Studio Codeのエクステンションを使う方法だ。L
We’re excited to announce that the first preview release of Visual Studio 2022 is ready to install! This is the first release of a 64-bit Visual Studio and we’d love for you to download it, try it out, and join us in shaping the next major release of Visual Studio with your feedback. Our key goal with this preview is to test and tune the scalability of the new 64-bit platform! With the new 64-bit
それほど大きくは取り上げられていない変更だが、多くの開発者に影響を与えるアナウンスがTwitterのWindows Insiderアカウントを通じて行われた。Windows 10のビルド21337から「Windows Terminal」がデフォルトでインストールされるようになったというものだ。Microsoftはここ数年、Windows Terminalの開発に力を入れてきた。今回のアナウンスは、Windows Terminalがデフォルトインストールのレベルまで到達したことを意味している。 Windows Insiderアカウントによるツイート MicrosoftはWSL (Windows Subsystem for Linux)によってWindowsでLinuxバイナリを実行する機能を提供している。現段階では、WSLを使ったLinuxはコンソールからの利用が前提だ(今後のバージョンでG
GDI というのは、ウィンドウズで画面やプリンタへの描画に使われている技術です。 また、GDI+ は Windows XP で登場した技術で、GDI を完全に置き換える後継となるものです。.NET Framework では、System.Drawing 名前空間の中に GDI+ を使用するためのクラスが収められています。 この二種類の技術を使ってテキストを描画してみました。 同じフォントで描画しているはずなのに、結構品質が違いますね。下はギザギザが目立ってあまりにもひどすぎます。また、同じフォントのはずなのに大きさが違ってきています。さて、どちらが GDI でどちらが GDI+ でしょうか? 「まさか……」と思われた方、正解です。下のひどい方が GDI+ による描画なのです。しかも、スムージングモードには最高性能を指定しています。 protected override void OnPai
COM/ActiveXの解説を順に書いていきます。 COMの背景知識 プログラムの実行環境 プログラムの実行処理 COMの関連知識 インターフェースと実装 ファクトリクラス 参照カウント ゼロからのCOM COMの目的とその仕組み クラスの作成とその利用 IUnknownとその実装 クラス機能の実装 class object DLL利用状態の管理 DLLサーバの自己登録 DLLサーバのビルド DLLサーバの動作確認 EXEサーバ DLLとEXEの違い メソッド呼び出し サーバ処理の流れ コマンドラインの解析 EXEサーバ利用状態の管理 class objectの登録 クラスのビルドと動作確認 オートメーションサーバ スクリプト言語への対応方法 クライアントの実装 IDispatchインターフェース メソッド呼び出しの実装 デュアルインターフェース C++とスクリプト言語の両立 MIDL タ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く