ソフトウェア」カテゴリーアーカイブ

FLV と MP4 をエクスプローラのプレビューで表示させる

そんなことを今日、ふと思いついてやってみまして、成功しましたので報告します。

Vista (XPでもいけると思いますが・・。)でテストしましたが、
エクスプローラのプレビュー機能を使うと、
画像や動画を中を開かなくても見られるわけですが、
インターネットでおなじみのflv やら mp4 さんが取ってきたはいい物のみられない。

mp4 なんて MPEG-4 の略じゃないの?
と思いつき、早速フォルダの縮小表示の仕組みをチェック。

レジストリで判定しているようで、なら同じデータを打ち込んでやればいいやんけ。と。

そんなこんなでやってみましたら意外といけました。

— 記事がめちゃ長いので分割しますね —

続きを読む

PSXPAD を Vista で使った時のエラーを消す方法。

エラーの出るときにどこを参照しているか。ということを追ってみていると、
やっぱり予想通り、通常のプロセスがいじれないようになっている部分をさわっていました。

いじっている部分だけさわれるようにアクセス権限を設定し直したら、問題なく動き始めた・・。
というところです。

これの設定を変更すると、

Effect PresetRenew とか、
Load Effect CurrentName とか、
SaveCurrentMode Open とか、
Save Effect CurrentName とか
Set FF Rec とか。

また、ゲーム起動中に出てくる、このパッドドライバからのエラーも消えます。
ただ、レジストリをいじるので自己責任で。

続きを読む

レジストリ肥大化は本当にまずいのか。

という、至って純粋な疑問が浮かんだために、ならば実験。

(夏休みですから・・。って関係ないか。

 

用意したもの

・レジストリに無駄なデータを大量に書き込むバッチスクリプト

・テスト用PC (PenM 2Ghz MEM:512MB)

 

観察

・最初はどーってことなく肥大化が進む。

system    は 117,440,512 バイト
software は 210,239,488 バイトでエラーが出る。

エラーが出た場合はREGコマンドは使用しているDLLファイルがおかしいとエラーを出し始め、

クリップボードについては「クリップボードのエラーです」と出て、

ワークグループの別のPCにアクセスしよう物なら、「リソースが足りないためこの処理を実行できません」とのこと。

ペイントでは大きい画像は勿論いじれないので、スクリーンショットなんて取ることはできず。

動画はとりあえず再生できるようでした。 (720×540 Divx エンコード  WMP で再生) ただ、初期化が極端に遅くなります。

マルチタスクがうまくできなくなってきます。

ネットワーク接続自体がおかしくなってきます。

キーボードの入力もおかしくなってきます。

DHCPでのIPアドレスの取得に相当時間がかかります。(5分や6分じゃ終わらない。

どこまでもプログラムが遅くなります。

字を忘れ始めます。

シャットダウンにどこまでも時間がかかります。

でも起動は特に変わらず。ふーしぎー。・・と思ったけど、ログイン画面が出てこない・・。あ。出てきた。

「やうこそ」からデスクトップが出てくるまで時間がかかります。

 

とまぁ。非常に危ない状態になります。

でも、普通のXP の環境でしたら SOFTWARE ファイルでも、5~6MBぐらいですから・・。

(多くても数十MBぐらい。100MB越えはしないかと。)

レジストリクリーナーを本当に実行しなければならないほど肥大化することはなさそうです。

でも高速化しそうですのでやってしまいます。でも、Vista のメインマシンでは不安なのでやりません。

適当な覚え書き。 HSP で PARAFORMAT2

なんでこうC++ で書かなかったのだと思うところではありますが、

しょうがないのでSDKのRichedit.h に書いてあったのをHSP風に解釈

 

———————————————————- (Richedit.h より抜粋。 持ってきて良いのかは疑問だけど。)

typedef struct _paraformat2
{
    UINT    cbSize;
    DWORD    dwMask;
    WORD    wNumbering;
    WORD    wReserved;
    LONG    dxStartIndent;
    LONG    dxRightIndent;
    LONG    dxOffset;
    WORD    wAlignment;
    SHORT    cTabCount;
    LONG    rgxTabs[MAX_TAB_STOPS];
     LONG    dySpaceBefore;            // Vertical spacing before para           
    LONG    dySpaceAfter;            // Vertical spacing after para           
    LONG    dyLineSpacing;            // Line spacing depending on Rule       
    SHORT    sStyle;                    // Style handle                           
    BYTE    bLineSpacingRule;        // Rule for line spacing (see tom.doc)   
    BYTE    bOutlineLevel;            // Outline Level                       
    WORD    wShadingWeight;            // Shading in hundredths of a per cent   
    WORD    wShadingStyle;            // Byte 0: style, nib 2: cfpat, 3: cbpat
    WORD    wNumberingStart;        // Starting value for numbering               
    WORD    wNumberingStyle;        // Alignment, Roman/Arabic, (), ), ., etc.
    WORD    wNumberingTab;            // Space bet 1st indent and 1st-line text
    WORD    wBorderSpace;            // Border-text spaces (nbl/bdr in pts)   
    WORD    wBorderWidth;            // Pen widths (nbl/bdr in half twips)   
    WORD    wBorders;                // Border styles (nibble/border)       
} PARAFORMAT2;

———————————————————-

参照:MSDN – PARAFORMAT2 Structure()

http://msdn.microsoft.com/en-us/library/bb787942(VS.85).aspx

 

宣言 HSP変数 メンバ名 オフセット サイズ
UNIT cbSize pfm2(0) cbSize 0 4
DWORD dwMask pfm2(1) dwMask 4 4
WORD wNumbering
WORD wReserved
上位ワード
下位ワード

pfm2(2)

wNumbering
wReserved
8
10
2
2
LONG    dxStartIndent pfm2(3) dxStartIndent 12 4
LONG    dxRightIndent pfm2(4) dxRightIndent 16 4
LONG    dxOffset pfm2(5) dxOffset 20 4
WORD wAlignment
SHORT cTabCount
上位ワード
下位ワード

pfm2(6)

wAlignment
cTabCount
24
26
2
2
LONG    rgxTabs[MAX_TAB_STOPS] pfm2(7) ~ pfm2(38) rgxTabs 28 128
LONG    dySpaceBefore pfm2(39) dySpaceBefore 156 4
LONG    dySpaceAfter pfm2(40) dySpaceAfter 160 4
LONG    dyLineSpacing pfm2(41) dyLineSpacing 164 4
SHORT    sStyle
BYTE  bLineSpacingRule
BYTE  bOutlineLevel
上位ワード
上位バイト
下位バイト

下位ワード

pfm2(42)

sStyle
bLineSpacingRule
bOutlineLevel
168
170
171
2
1
1
WORD    wShadingWeight
WORD    wShadingStyle
上位ワード
下位ワード

pfm2(43)

wShadingWeight
wShadingStyle
172
174
2
2
WORD    wNumberingStart
WORD    wNumberingStyle
上位ワード
下位ワード

pfm2(44)

wNumberingStart
wNumberingStyle
176
178
2
2
WORD    wNumberingTab
WORD    wBorderSpace
上位ワード
下位ワード

pfm2(45)

wNumberingTab
wBorderSpace
180
182
2
2
WORD    wBorderWidth
WORD    wBorders
上位ワード
下位ワード

pfm2(46)

wBorderWidth
wBorders
184
186
2
2

 

適当に書いてみましたが、こんな感じかな・・?

あっていればいいけれど。

 

んー・・。それより前に疑問なのが、

PARAFORMAT2 構造体をHSPで使う人って居るのかなぁ・・。なんて。

もしかして自分だけかも?なんて思いますが、

一応需要があったらいいなー。と

 

HSPで書く人への補足

cbSize は 188 バイト。

それと、ワード・バイトの書き込みは、

wpoke とか poke とか使うと楽かも。

逆は wpeek と peek

 

そんなわけで、一応書いてみると、

 

dim pfm2,47

pfm2(0)=188

 

ってなかんじで。

 

そんなわけで、

・間違いを発見した人

-> すぐに教えてください。

・これを見て書く人

-> 少しでも生かせれば幸いです。