タグ

win32apiに関するzetamattaのブックマーク (38)

  • 方法: Windows Phone Marketplace 用のスクリーンショットを作成する

  • Using the Console - Windows Console

    zetamatta
    zetamatta 2017/03/14
    コンソールに関する関数・APIまとめ
  • Win32API 起動中プロセスの情報(プロセス名、プロセスID、セッションID)を列挙する - s-kita’s blog

    起動中のプロセスの情報(プロセス名、プロセスID、セッションID)を列挙するには、ターミナルサービスAPIのWTSEnumerateProcesses関数を用いる。 WTSEnumerateProcesses関数のプロトタイプ BOOL WTSEnumerateProcesses( HANDLE hServer, //ターミナルサーバーのハンドル(WSTOpenSeverで取得する) DWORD Reserved, //必ず0を指定する DWORD Version, //必ず1を指定する PWTS_PROCESS_INFO *ppProcessInfo, //WTS_PROCESS構造体配列へのポインタ DWORD *pCount //取得できたWTS_PROCESS構造体配列の要素数 ); WTSEnumerateProcesses関数で、このプログラムを実行中のターミナルサーバーのプロ

    Win32API 起動中プロセスの情報(プロセス名、プロセスID、セッションID)を列挙する - s-kita’s blog
  • Win32API プロセスの所有者情報を取得する - s-kita’s blog

    プロセスの所有者情報を取得するためには、GetKernelObjectSecurity関数、GetSecurityDescriptorOwner関数、LookupAccountSid関数を用いる 手順は以下のとおり No項目 1GetKernelObjectSecurity関数で、カーネルオブジェクトのセキュリティ記述子を取得する 2GetSecurityDescriptorOwner関数で、セキュリティ記述子からSIDを取得する 3LookupAccountSid関数で、SIDに対するアカウント情報を取得する プロセスの所有者情報を取得する例 自分自身のプロセスの所有者情報を取得する #include <windows.h> #include <aclapi.h> #include <stdio.h> int main() { PSECURITY_DESCRIPTOR pSD; DWOR

    Win32API プロセスの所有者情報を取得する - s-kita’s blog
  • Microsoft.Windows.ActCtxでWSHでもReg‐Free COM - イグトランスの頭の中

    2016年10月2日追記: Windows 8.1からこのサンプルでは動作しなくなってしまったようです。Windows Vista~7では動作します。Windows 8は未確認です。 Microsoft.Windows.ActCtxオブジェクトを使うと、レジストリに登録せずCOMコンポーネントが使えます。Activation Context APIのラッパーであり、WSHやHTAにおけるJScript/VBScriptなどのWindows APIを呼べない環境で重宝します。 用意するものは3つです。 利用したいCOMコンポーネント体(DLLなど)マニフェストファイルスクリプト体1つ目、サンプルのCOMコンポーネントを作りました: msgbox.cpp。Visual C++ 2010(Expressでも可)でコンパイルできます。Showというメソッドを1つ持った単純なオブジェクトがありま

    Microsoft.Windows.ActCtxでWSHでもReg‐Free COM - イグトランスの頭の中
  • Dynamic-Link Library Security - Win32 apps

    When an application dynamically loads a dynamic-link library without specifying a fully qualified path name, Windows attempts to locate the DLL by searching a well-defined set of directories in a particular order, as described in Dynamic-Link Library Search Order. If an attacker gains control of one of the directories on the DLL search path, it can place a malicious copy of the DLL in that directo

    Dynamic-Link Library Security - Win32 apps
    zetamatta
    zetamatta 2016/01/29
    SetDllDirectory を使えば、カレントディレクトリに変わる、unmanaged な DLL の探し先を指定できる…らしい
  • 方法: Windows Phone Marketplace 用のスクリーンショットを作成する

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    方法: Windows Phone Marketplace 用のスクリーンショットを作成する
    zetamatta
    zetamatta 2015/04/17
    リソース文字列を取ってくる関数
  • [WMP][C/C++]DLLは自分自身のリソースを使う事が出来ないのでしょうか?(解決編)

    [WMP][C/C++]DLLは自分自身のリソースを使う事が出来ないのでしょうか?の続き。 いざエントリを投稿しようとして、ざっくりと見返していたら、なんでGetModuleHandle()の引数はNULLなん?と疑問を感じて、MSDNを紐解いてみました。 GetModuleHandle 呼び出し側プロセスのアドレス空間に該当ファイルがマップされている場合、指定されたモジュール名のモジュールハンドルを返します。 HMODULE GetModuleHandle( LPCTSTR lpModuleName   // モジュール名 ); lpModuleName NULL を指定すると、呼び出し側プロセスの作成に使われたファイルのハンドルが返ります。 ゜   ゜ (  д  )ポカーン 呼び出し側プロセスって、Windows Media Playerじゃまいか。 GetModuleHandle

  • Gauche OLE 0.5 - 主題のない日記

    Gauche で OLE オートメーションを利用するライブラリの作成を先日から取り組んでいますが、少し進展があったので一旦リリースすることにしました。 http://saito.s4.xrea.com/software/Gauche-OLE-0.5.tar.gz 変更や追加は以下の通りです。 メソッド名とプロパティ名をシンボルで表現 従来はメソッド名やプロパティ名は文字列で与えていました。 それをシンボルで表現するようにしました。 例えば object というオブジェクトの method というメソッドを起動したい場合は以下のようになります。 (ole-invoke object 'method) object-apply を定義してあるので以下のように呼出してもよいです。 (object 'method) シンボルで表現するようにしたのは将来的にメソッド名の探索をキャッシュする機構を導入

    Gauche OLE 0.5 - 主題のない日記
    zetamatta
    zetamatta 2014/09/27
    曰く「Gauche で OLE オートメーションを利用するライブラリの作成を先日から取り組んでいますが、少し進展があったので一旦リリースすることにしました。」-すげー
  • UACが有効の時、アプリケーションを管理者に昇格させて起動する

    UACが有効の時、アプリケーションを管理者に昇格させて起動するWindows VistaからUAC(ユーザーアカウント制御、User Account Control)が導入されました。これによって、特別な場所へファイルやレジストリを書き込む等の操作を行なうアプリケーションを実行する時、管理者権限に昇格させないと正常に機能しない恐れがあります。ここでは、管理者権限に昇格させてアプリケーションを起動する方法と、作成したアプリケーションが起動される時に自動で管理者権限に昇格されるようにする方法を紹介します。 コンテキストメニューで「管理者として実行」を選択して実行するまずは基を確認する意味で、.NET Frameworkとは関係ありませんが、アプリケーションを管理者権限に昇格させて起動する方法を2つ説明します。分かっている方は読み飛ばしてください。 アプリケーションの実行ファイルやショートカッ

    UACが有効の時、アプリケーションを管理者に昇格させて起動する
    zetamatta
    zetamatta 2013/03/09
    マニフェストファイルを使用して、起動時に自動で管理者に昇格させるようにする方法
  • COM インスタンスを作成する

    ここの備忘録は、あくまでも走り書き程度のメモ的なものですので気をつけてください。 そのままでもちゃんと動くもの、手を加えないとだめなものなど、未完成レベルのコードです。ので、そのまま引用してしまうなど、プログラムを理解する知識のない方は利用しないでくださいね。 今回は Visual Studio .NET の Visual C++ 7.0 で作成した ComTest という COM コンポーネントを同じく Visual C++ 7.0 のプログラム内で使用するという感じのお話です。VC++ 6.0 とは少しやり方が違ったようなので、まとめて見ました。 ComTest というコンポーネントには、IComTest インターフェイスと、CComTest という CoClass が用意されているものとします。タイプライブラリファイルは _ComTest.tlb です。

    zetamatta
    zetamatta 2013/03/08
    COMを使う C++ アプリケーションで下手にスマートポインタを使うと相手は死ぬ
  • DebugView for Windows

    概要 DebugView は、ローカル システム、または TCP/IP 経由でアクセスできるネットワーク上の任意のコンピュータにおける、デバッグの出力を監視できるアプリケーションです。カーネル モード デバッグの出力と Win32 デバッグの出力の両方を表示できるので、アプリケーションやデバイス ドライバーから生成されたデバッグの出力をデバッガーで取得する必要がなく、標準以外のデバッグの出力 API を使用するようにアプリケーションやドライバーを変更する必要もありません。 DebugView のキャプチャ対象 Windows 2000、Windows XP、Windows Server 2003、および Windows Vista の場合、DebugView では次の情報をキャプチャします。 Win32 の OutputDebugString カーネル モードの DbgPrint Wind

    DebugView for Windows
    zetamatta
    zetamatta 2013/02/17
    Win32 の OutputDebugString の内容を拾えるらしい
  • SAFEARRAYを試してみる

    ホーム < ゲームつくろー! < IKD備忘録 C++ SAFEARRAYを試してみる (2009. 9. 8) SAFEARRAYなる物があります。名前にあるように安全な配列です。が、どう使うか良くわかりません。そこで調べてみる事にしました。 とりあえず参考になりそうな文章を備忘録(MSDN:Dr.GUI と COM オートメーション、第 3 部:続 COM のすばらしきデータ型): http://msdn.microsoft.com/ja-jp/library/cc482694.aspx ① そもそもSAFEARRAYとは? そもそもSAFEARRAYってなんだろうという話です。Visual Studioで宣言を見てみると、これは構造体でした: typedef struct tagSAFEARRAY { USHORT cDims; USHORT fFeatures; ULONG cbE

    zetamatta
    zetamatta 2012/04/15
    COM で使用する配列オブジェクト SAFEARRAY の使い方の解説
  • 「複数のOptional引数」を持つCOMのメソッドをC++で実装するには?

    zetamatta
    zetamatta 2012/04/15
    Invokeに渡すパラメータは逆順にする、VariantClearすればSysStrFreeは不要、初期化はVariantInitを使う
  • Interface 研究室

    ◎Interface 研究室 ここは、いろいろな言語やらコンポーネントやらをつないでしまおう、ということを試みるページです。 たとえば、C/C++ のプログラムから Java のメソッドを呼んだり、Perl から Excel を操作したり・・・ いろいろ試行錯誤しながらやっていきたいと思います。 例によって、ソースのパクリ多いです(^^; 最初の数回は、COM コンポーネントの使い方のお話です。 1.VBScript/JScript から Internet Explorer を操作する[2005/03/18] 2.C++ から COM 経由で Internet Explorer を操作する(Early Binding 版)[2005/03/29] 3.C++ から COM 経由で Internet Explorer を操作する(Late Binding 版)[2005/05/05]

    zetamatta
    zetamatta 2012/04/13
    VBScript/JScript/C++ から COM コンポーネントを呼び出す
  • 解説 : XMLHttpRequest

    XMLHttpRequest を使用出来るようにする為の宣言。ブラウザにより異なる。 IE では、ActiveXObject("Microsoft.XMLHTTP") を使用。 IE のバージョンによっては、ActiveXObject("Msxml2.XMLHTTP.5.0") , ActiveXObject("Msxml2.XMLHTTP.4.0") , ActiveXObject("Msxml2.XMLHTTP.3.0") , ActiveXObject("Msxml2.XMLHTTP") なども使用出来る。 Mozilla 系ブラウザでは、XMLHttpRequest() を使用。 var xmlhttp = false; if(typeof ActiveXObject != "undefined"){ try { xmlhttp = new ActiveXObject("Micro

    zetamatta
    zetamatta 2012/04/12
    げ、もうプロパティー responseBody は使えないのか。これではバイナリファイルのダウンロードが出来ない…
  • ruby Win32OLE の製作過程

    Win32OLEとは Win32OLEは、Ruby1.8より標準添付となりました。 Rubyをダウンロードすれば、その中に含まれています。 1.8以降はそちらをご利用ください。 Win32OLEは、RubyからExcelやMS-Wordなどを利用するための拡張ライブラリです。 RubyVBAに似たスクリプトを書くことができます。 require 'win32ole' excel = WIN32OLE.new('Excel.Application') excel.visible = TRUE workbook = excel.Workbooks.Add(); worksheet = workbook.Worksheets(1); worksheet.Range('A1:D1').value = ['North','South','East','West']; ダウンロード (Ruby 1.

    zetamatta
    zetamatta 2012/04/09
    Lua で COM 呼び出しを実装するのに、たいへん参考になりますた
  • EternalWindows

    C言語によるWindowsプログラミングの解説サイトです。 書籍Windows Internalsの解説はこちらをご確認ください。

    zetamatta
    zetamatta 2012/03/28
    COM関係の資料が参考になる
  • Win32エラーコード一覧

    WindowsSDK 内の `winerror.h` や 他のエラーコードっぽいヘッダーからエラーコードっぽいのを抽出し、FormatMessage() で日語化しただけのものです^^; 結果出力させた環境は Windows10 ver.1703 (Creators Update)、実行バイナリを生成したのは VC2017 です。 (2017-05-30 結果出力を WinXP SP2 から更新しました! 12年ぶりに更新しました! 忘れてないよ!!) 出力結果の中で "---" となっているのは、メッセージの取得に失敗したものです かなり大きなテーブルなので、表示されるまで時間かかるかもしれません (2.2MBぐらいあります) COMにカテゴライズしてる後ろの方の結果はCOMのカテゴリなのか怪しい FormatMessage() で取り出すべきエラーコードじゃないのまで取り扱ってるよう

    zetamatta
    zetamatta 2012/03/07
    重宝しそうだぜ
  • クレジットカード現金化の高還元率の優良店を選ぶためには

    クレジットカード現金化の高還元率の優良店を選ぶためには クレジットカード現金化の優良店を選ぶポイントは、換金率やスピードもありますが、そのほかにも見ておきたいポイントもあります。 お金に厳しい人が利用しますので、手数料やキャンペーンの有無、価格交渉ができる業者ということは見ておきたいところです。 それぞれどのような内容なのでしょうか。 手数料が無料であるクレジットカード現金化の業者には、手数料をすべて無料でしてくれるところがあります。 業者によっては、単純に手数料という名目で業者側の利益がとられていたり、振込手数料、事務手数料という名目で少額ながらお金がかかることがあります。 せっかく高い換金率が記載されていても、手数料の分が差し引かれることで、損をしたような気持ちになったり後から気づくこともあります。 これらの手数料は最初から公式ホームページに記載がある場合は了承したうえで申し込みもでき

    zetamatta
    zetamatta 2012/03/07
    Internet Explorer 7 以降では、COMでの IE オブジェクトの利用方法が変わったらしい