2013-10-01から1ヶ月間の記事一覧

コマンドプロンプトでファイルの行数を数える

[tool]findコマンドを使う。アスタリスクもいける 最後が空行だとカウントされないバージョン find /v /c "" sample.txtfind /v /c "" *.txt カウントするにはパイプ経由にする type sample.txt | find /c /v ""ネタ元 http://d.hatena.ne.jp/dett0826/20130…

心に残る名言「無知を恐るるなかれ 偽りの知識を恐れよ」

[名言]パスカル

VB.NETでDLL作ってMFCから呼ぶ手順でなんだかハマったこと

VB

VB.NET側では <ClassInterface(ClassInterfaceType.AutoDual)>コレ付けないと「typelibからのMFCクラス」で作ったヘッダAPIがでてこない。 MFC側ではobj.CreateDispatch(CLSID_***) / obj.ReleaseDispatch() / CoInitialize(0) / CoUninitialize() 忘れてた。これ忘れると、コンパイルも処理も通るけどなに</classinterface(classinterfacetype.autodual)>…

VB.NETで作成したDLLをVBAとか他から使用する

VB

VB.NETで他のプログラムからDLL作るときにはClassInterfaceっていうのが必要になる。 Imports System.Runtime.InteropServices <ClassInterface(ClassInterfaceType.AutoDual)> Public Class Class1 Public Function test() As Integer MsgBox("AAAA") Return 0 End Function End ClassClassInterfaceType.</classinterface(classinterfacetype.autodual)>…

タイプライブラリ(*.tlb)の中身を見るならOleView.exe

[tool]普通にインストールしてれば C:\Program Files (x86)\Microsoft SDKsにあります。ネタ元 http://eternalwindows.jp/com/auto/auto02.html

心に残る名言「人は自分が幸福であることを知らないから不幸なのである。」

[名言]ドストエフスキー

IEのバージョンを調べる

[excelVBA] Dim IEA As Object Dim FSO As Object Set IEA = CreateObject("InternetExplorer.Application") Set FSO = CreateObject("Scripting.FileSystemObject") MsgBox "IEのバージョンは" & FSO.GetFileVersion(IEA.FullName) & "です。" Set FSO = No…

Windows8.1にしたら 起動時にlogilda.dll でエラーが出るようになった場合の対処法

OS

ドライバを再インストールで治・・るかとおもったら治らなかった。(汗)エラーはでるけど普通にマウンスもキーボードも使えるんだけどね・・・どうしよう。 ネタ元 http://www.eightforums.com/windows-updates-activation/33034-8-1-updated-caused-error-lo…

C#で作成したDLLをExcelVBAで利用するにはregsvr32じゃなくてRegAsm.exeを使う

.NET で作成した COM 対応コンポーネントのレジストリ登録には regasm.exe を利用する。 regasm.exe /codebase XXX.DLL regasm.exeにはパスが通ってないので、 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exeとかで。ちなみにcodebaseというのは…

iPhone5sの指紋認証が素晴らしすぎる

[tool]ヨメが機種変したけどこれはいい。ロック解除の横スライドやパスワード入力、さらにアプリインストール時のパスワード確認をスキップできる。人生の中のロック解除という超無駄作業がほぼ0でストレスフリー。全ての携帯に実装してもらいたいね。

マルチスレッドの場合はCoInitializeとCoUninitializeのペアを繰り返し呼んではならない。最初にCoInitializeしたら、プロセス終了時にCoUninitializeするまで触らないこと

[VC][開発] よくサンプルで CoInitializeとCoUninitializeで処理を挟んだサンプルがあるが、プロセスの最初と最後に呼ぶだけでいいらしい。特にマルチスレッドの場合は要注意なのだそうだ。 ネタ元 プログラム終了時にCOMが消えずにメモリリークする

MessageBox.Show()を使うには参照設定でSystem.Windows.Formsを追加してからusing

C#

[C#] using System.Windows.Forms;っていれてもエラーになるときは参照設定不足。 ソリューションエクスプローラにある「参照設定」を右クリックして「参照の追加」を選択し、「参照の追加」ウインドウを表示 「.NET」タブのコンポーネント名「System.Window…

心に残る名言 幸せは経験するものではなくて、あとで思い出してそれと気づくものだ。

オスカーレバント

VPN&リモートデスクトップでお家のPCを外からiPhoneで操作する

[os][tool]VPNを構築して安全にしつつのリモートデスクトップ操作設定手順 VPN(Virtual Private Network)の設定 ※リモートログイン用のユーザーアカウントを専用に作るなら、事前にユーザーを追加しておくこと。Windows7の場合1.コントロールパネル → ネッ…

Windowsのプロセスメモリの見方

os

Windows OS上のプロセスが確保したメモリは用途やスコープに応じて以下のような種類に分けられています。 Virtual Bytes(バーチャルバイツ) 該当プロセスの仮想アドレス空間に割り当てられている領域の全合計をVirtual Bytesと呼びます。 Virtual Bytesはパ…

OutputDebugStringはリリースビルド時に呼び出し削除されない

vc

こんな感じで工夫失いと消せない。 #ifndef _DEBUG #define OutputDebugStringA(x) ((void)0) #define OutputDebugStringW(x) ((void)0) #endif ネタ元 http://blogs.konuma.org/blog/2010/06/outputdebugstri/

コントロールキーの押下状態を知るにはGetKeyState()

vc

こんな感じ if ((GetKeyState(VK_CONTROL) & 0x8000)) { TRACE("ctrlキー押下!\r\n"); } else { TRACE("ctrlキー押下しない!\r\n"); }ネタ元 http://www.softist.com/programming/keystate/keystate.htm

VMMapでメモリの状況を覗く

[tool]http://technet.microsoft.com/ja-jp/sysinternals/dd535533.aspx動いているアプリケーションの空きメモリとかみることができる素敵ツール。 断片化も視覚的に確認できる・・・らしいんだが、イマイチ使い方わからん ネタ元 http://detail.chiebukuro.…

VisualStudioで32bitアプリで2G以上のメモリを使うオプションの設定方法

vc

[vc] 32bitアプリケーション(プロセス)の仮想メモリ使用量は、通常2GBだけど/LARGEADDRESSAWARE オプションで 32bitOS上では、LARGEADDRESSAWAREモードにより、1:3にすることができるため、上限が3GBにできる。 64bitOS上では、LARGEADDRESSAWAREモードに…

C#のプロジェクトのプラットフォームを変更したいのにAny CPU以外指定できなかったら構成マネージャで新規追加する

C#

[C#]x64とかx86とかネタ元 http://msdn.microsoft.com/ja-jp/library/ms185328(v=vs.90).aspx

C#で作ったDLLのAPIにC++から構造体のポインタを渡して、結果を書き込んでもらう

[CPP][C#]これで正解なのかわからないが、とりあえずできたのでメモ。C#の方はunsafeを有効にしておく。 C#側 [DllImport("kernel32.dll")] static extern unsafe void CopyMemory(void* dst, void* src, int size); // 受け渡し用構造体(32bit前提) [Struct…

C++でいい感じでHTTPが扱えるライブラリnanowww

CPP

[CPP]まずはgitをインストールしてないと入手できない WindowsにGit環境をインストールする そしてリポジトリも適当に作っておかないといけない Gitの基本 新しいリポジトリを作成する そしてコマンドプロンプトでつくったリポジトリのフォルダに移動。Gitで…

不要なusing宣言を整理

C#

[C#]VisualStudioのメニューから[編集]->[IntelliSense]->[usingの整理]->[未使用のusingの削除・整理]ネタ元 http://d.hatena.ne.jp/jonki/20120527/1338094280