2015年6月25日木曜日

Word, Excel, Access VBA用のCHMリファレンス・ヘルプ

どこかにお手軽なリファレンスが無いものでしょうか。。。

という訳で、ちょっと手抜きして作ってみました。

OfficeChm (Office 2013):
https://drive.google.com/open?id=0Bygl-em20CSKfk5aOFJQWnZrdThvNGZHVURQbXBsU3ZwWUlQWWk2Q094bzBXZi12TFhFVzA

.NET Frameworkアプリ用の、ヘルプ作成支援システム(Sandcastle)を使って、作成しました。

ActiveX exe/dllをインポートする形でInteropアセンブリを作成し、これらをヘルプ化しました。

多少、命名規則に.NET臭さが混じっていますが、大枠はこれでいけるかと思います。我慢して使ってあげてください。。。

2015年4月11日土曜日

DirectShowでオーバーレイを使うビデオレンダラー

Video Mixing Renderer
{B87BEB7B-8D29-423F-AE4D-6582C10175AC}
quartz.dll

オーバーレイを使用。

ーーー
Video Mixing Renderer 9
{51B4ABF3-748F-4E3B-A276-C828330E926A}
quartz.dll

非オーバーレイ。

ーーー
Video Renderer
{70E102B0-5556-11CE-97C0-00AA0055595A}
quartz.dll

非オーバーレイ。

ーーー

2015年4月1日水曜日

BINDSTATUS定数

 1 = FindingResource
 2 = Connecting
 3 = Redirecting
 4 = BeginDownloadData
 5 = DownloadingData
 6 = EndDownloadData
 7 = BeginDownloadComponents
 8 = InstallingComponents
 9 = EndDownloadComponents
10 = UsingCachedCopy
11 = SendingRequest
12 = ClassIDAvailable
13 = MIMETypeAvailable
14 = CacheFileNameAvailable
15 = BeginSyncOperation
16 = EndSyncOperation
17 = BeginUploadData
18 = UploadingData
19 = EndUploadData
20 = ProtocolClassID
21 = Encoding
22 = VerifiedMIMETypeAvailable
23 = ClassInstallLocation
24 = Decoding
25 = LoadingMIMEHandler
26 = ContentDispositionAttach
27 = FilterReportMIMEType
28 = CLSIDCanInstantiate
29 = IUNknownAvailable
30 = DirectBind
31 = RawMIMEType
32 = ProxyDetecting
33 = AcceptRanges
34 = Cookie_SENT
35 = Compact_Policy_Received
36 = Cookie_Suppressed
37 = Cookie_State_Unknown
38 = Cookie_State_Accept
39 = Cookie_State_Reject
40 = Cookie_State_Prompt
41 = Cookie_State_Leash
42 = Cookie_State_Downgrade
43 = Policy_HRef
44 = P3P_Header
45 = Session_Cookie_Received
46 = Persistent_Cookie_Received
47 = Session_Cookies_Allowed
48 = CacheControl
49 = ContentDispositionFilename
50 = MIMETextPlainMismatch
51 = PublisherAvailable
52 = DisplayNameAvailable
53 = SSLux_NavBlocked
54 = Server_MIMETypeAvailable
55 = Sniffed_ClassIDAvailable
56 = 64Bit_Progress

2015年3月20日金曜日

ダウンロードアンダーバー問題

※未解決です

OS: Windows 7 の Internet Explorer 9 から 11 で確認されている現象。

情報:
[インターネットオプション]―[セキュリティ]の「保護モードを有効にする」のチェックを外すと、問題点か解消しました。

Process Explorer showed open handles to the Temporary Internet Files directory opened by svchost running the Roaming Profiles service. Restarting the service released the handle, allowing IE to properly write the file.


ーーー

検証に有用なツール

ーーー
IEView.exe
https://dl.dropboxusercontent.com/u/24560712/IEView.exe

FindMimeFromData.exe
https://dl.dropboxusercontent.com/u/24560712/FindMimeFromData.exe

FindMimeFromData64.exe
https://dl.dropboxusercontent.com/u/24560712/FindMimeFromData64.exe

※ 進捗数値が意味する所は、 BINDSTATUS定数 をご参照ください。

TestDownloadManager
https://drive.google.com/file/d/0Bygl-em20CSKeU5RcFNtYWZqeG8/view?usp=sharing

CheckIEFeatureControl
https://github.com/kenjiuno/CheckIEFeatureControl/releases

ーーー
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Secure Mime Handlers

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\Secure Mime Handlers

  • CorTransientLoader.CorLoad.1

ーーー
Temporary Internet Files, Content.IE5の中に、アクセスできないフォルダが有ると、ダウンロードに失敗する場合が有る。

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files 2
C:\Users\KU\AppData\Local\Microsoft\Windows\Temporary Internet Files 2

のように、末尾へ 2を付けると、部分回避ができた。

ーーー
回避ができないケースも有りました。目下、調査中。

2015年3月1日日曜日

ffmpeg/ffplay、WebCamで

Webカメラからの映像・音声をffmpegで配信するコマンドライン例。

-rtbufsize 10MB -f dshow -i video="*VID*":audio="*AUD*" -s 320x240 -vcodec libx264 -tune zerolatency -r 10  -vb 300k -g 60 -vprofile baseline -level 2.1 -vf "drawtext=fontfile=OpenSans-Regular.ttf: text='%{localtime}': fontcolor=#ffffff: fontsize=30: x=5: y=5" -pix_fmt yuv420p -acodec libmp3lame -ac 1 -ar 16000 -f mpegts pipe:1

*VID* は、ビデオ入力に置き換えます。
*AUD* は、音声入力に置き換えます。
バッファリングと遅延を無くします。
現在日時を表示します。

ffplayで上映するコマンドライン例:

-vcodec h264 -fflags +nobuffer -acodec mp3 -i pipe:0

出力例:


2015年2月21日土曜日

Windows 8.1で、VPN接続(PPTP)が常時タイムアウトで機能しなくなった場合

とにかく、デバイスを消しまくりました。

「デバイスマネージャー」で「ネットワークアダプター」の中を確認すると、「WAN ミニポート」たちが不調に陥っています。削除するも消えない。


仕方なく、レジストリを削除することにしました。


もちろん、自己責任でやって頂きたいのですが、削除するキーは、場所は赤で囲んだところです。

普通に削除しても消えないので、「タスク」機能を使い、SYSTEM権限でREG.exe DELETE を使って、削除しました。削除した後は、Windowsを再起動で。

消し過ぎたらアレと思いますが、足りないデバイスは、VPN接続を作る際に再登録し直ししてくれるようです。

これでVPNが作成でき、つながるようになりました!

ーーー
マメ知識ですが。。。

私のような症状になりますと、rasman (Remote Access Connection Manager)サービスをホストしているプロセス svchost.exe が強制終了することと思います。

実は通常、rasmanは他のサービスと一緒にsvchost.exeの中で共存しています。どのようなサービスと一緒に住んでいるかについては、tasklist.exe /svcで確認してください。

svchost.exe                    860 AeLookupSvc, Appinfo, BITS, Browser,
                                   DsmSvc, gpsvc, iphlpsvc, LanmanServer,
                                   MMCSS, ProfSvc, RasMan, Schedule, SENS,
                                   ShellHWDetection, Themes, winmgmt, wlidsvc,
                                   wuauserv

RasManがエラーで落ちると、これだけのサービスが影響を受けます。つまり、Windowsがとてつもなく不調になり、再起動を免れません。

そこで、rasmanだけ独立したsvchost.exeで動かすようにして、いざという時に、他のサービスが影響を受けないように独立させます。そのコマンドが次の内容になります。

sc config rasman type= own
[SC] ChangeServiceConfig SUCCESS

2015年2月6日金曜日

sorttbls.nlp が、所定の場所になかった…

ーーー
ハンドルされていない例外:
   Exception.ToString() が失敗したため、例外文字列を表示できません。

ーーー
「ファイルまたはアセンブリ 'sorttbls.nlp' またはその依存関係の1つが読み込めませんでした。指定されたファイルが見つかりません。」

ーーー
イベントビューアが表示できない:

スナップインを作成できませんでした。スナップインが正しくインストールされていない可能性があります。
名前:イベントビューアー
CLSID: FX:{b05566ad-fe9c-4363-be05-7a4cbb7cb510}

ーーー
対策:


C:\Windows\Microsoft.NET\Framework\v2.0.50727\sorttbls.nlp を C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089 へ複写すると改善しました。