約 2,209,934 件
https://w.atwiki.jp/yasrun/pages/98.html
コメントからのドキュメントの作成 ※昔書いたメモの転載だから、記述が古いかも。 C#のソース中には、「///」と半角スラッシュ3つで始まるコメントを埋めることができる。 これは特別な意味を持ち、「ビルドコメント」という。 Javaで言うJavadocの機能で使われるコメント「/**」のようなものだ。 VS2005の場合は、ソリューション(プロジェクト)のビルド設定から XMLファイルの出力有無と、ファイル名を指定することができる。 それをONにして普通にビルドすると、XMLファイルがbinディレクトリに、EXEと一緒に 吐かれる。 このXMLを生で見ても当然意味が無い。(ただのXMLファイル。XSLファイル無し) VS2003までは、「WEBページのビルドコメント」なるものがツールメニューにあって、 XMLからHTMLだかCHMに変換してくれたらしいが、 VS2005では削除されている。 どうも、それで作成されたドキュメントはXP SP2上では読めないというのが理由らしい。 【参考】http //blogs.wankuma.com/naka/archive/2005/06/04/12342.aspx 一方、NDOCというサードパーティーツールがあるが、 これは.NET1.1のみで、.NET2.0に非対応の模様。 .NET2.0のプロジェクトからXMLを作成してNDOCに読ませても、 HTMLファイル等をビルドするときにエラーがでる。 MSは公式ツールとして、Sandcaslteなるものを作っているらしい。 http //www.microsoft.com/downloads/details.aspx?FamilyID=e82ea71d-da89-42ee-a715-696e3a4873b2 DisplayLang=en これは現在はプレリリース版でしかない。 また、単独では使うのが難しいらしく、支援ツールがいろいろある模様。 例えば、「Sandcastle Help File Builder」など。 http //www.codeplex.com/SHFB/Release/ProjectReleases.aspx?ReleaseId=2264 【参考】http //d.hatena.ne.jp/Wacky/20070108/1168237297 Sandcastle Help File BuilderのインタフェースはNDOCのそれに似ている。 ADDボタンでDLLまたはEXEを追加する(同じディレクトリにXMLファイルがあることが必要)。 その状態でビルドすればHTMLができるはずだが、 他のDLLが使用されている場合、その部分でエラーとなる。 これを防ぐには、それらDLLも続けてADDしてからビルドする。 ただし、それらDLLに関するXMLファイルは当然無いため、 ダミーの、空のXMLファイルを作り、それを充てる。 unknown.xml ?xml version="1.0"? doc /doc ただ、これをもってしてもFlexGridのDLLを含んだプロジェクトはうまくビルドできない。 [Sandcastle Help File Builder GUI, version 1.4.0.1] Creating output and working folders... Clearing working folder... Finding tools... Found Sandcastle in C \Program Files\Sandcastle\ Found HTML 1.x help compiler in C \Program Files\HTML Help Workshop\ Validating documentation assembly information... ------------------------------- Creating Sandcastle configuration file... Last step completed in 00 00 00.0156 ------------------------------- Generating shared content files (en-US)... Last step completed in 00 00 00.0156 ------------------------------- Generating reflection information... [C \Documents and Settings\slwms\My Documents\Visual Studio 2005\Projects\MakeHSForm\MakeHSForm\bin\Debug\Help\Working\GenerateRefInfo.bat] MrefBuilder (v2.2.63000.2) Copyright c Microsoft 2006 Error Unresolved assembly reference System.Configuration (System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a) required by C1.Win.C1FlexGrid.2 Last step completed in 00 00 01.6250 BUILD FAILED Unexpected error in last build step. See output above for details.
https://w.atwiki.jp/boare/pages/263.html
English 日本語 リリースノート リリース日 未定 注意事項 このバージョンでは、Cadencii 2.1.4以前向けに作成したスクリプトおよびパレットツールが動作しなくなる場合があります。動かなくなったスクリプトなどのメンテナンスはサポート掲示板のスクリプト開発支援&投稿用スレッドで受け付けます。 Cadenciiを起動するには、version 2.0以降の.NET FrameworkおよびVisual C++ 2010 ライブラリが必要です。Windows Vistaより新しいOSの場合、OSに.NET Frameworkが予めインストールされているので、改めてインストールする必要はありません。.NET Frameworkの入手先は以下の通りです。 .NET Framework Runtime .NET Framework Developer Center ダウンロード また、Visual C++ 2010ライブラリの入手先は以下の通りです。 Visual C++ 2010ライブラリDLL Microsoft Visual C++ 2010 再頒布可能パッケージ (x86) Straight x UTAU(vConnect, vConnectVCV)の機能を利用するには、Visual C++ 2008 ライブラリが必要です。入手先は以下の通りです。 Visual C++ 2008ライブラリDLL Microsoft Visual C++ 2008 再頒布可能パッケージ (x86) 最新バージョンのmonoを用いることで、monoが対応する各種プラットフォーム上でCadenciiを起動することが出来ます。ただし、この場合VOCALOID / VOCALOID2 VSTiを使用する各機能およびサウンド関連の機能は使用できません。monoの入手先は下記の通りです。 mono download ダウンロード Windows版 Cadencii version 3.4.1 (6.7MB) Macintosh版 Cadencii version 3.4.1 (42.5MB) 新機能および仕様等の変更 ベジエ曲線がたくさんある時の描画パフォーマンスを改善 例外が起きた際、開発者に例外情報を送信できるようにした ソースコードの入手方法 3.4系統のソースコードはSourceForge.JPのCadenciiのSVNリポジトリにあります。SVNリポジトリのチェックアウトは、次を参考に行ってください。 svn checkout -r 1739 http //svn.sourceforge.jp/svnroot/cadencii/Cadencii/branches/3.4 ./ 上記のコマンドは、このバージョンのソースコードをチェックアウトする場合のものです。
https://w.atwiki.jp/lookworld/pages/28.html
まずは、DLL用のプロジェクトを新規に作成します。 1.プロジェクトの作成 1-1.新規作成-プロジェクトを選択する。 1-2.MFC AppWizard(dll)を選択する。 1-3.プロジェクト名を入力する。 1-4.位置を入力する。 2.STEP1 2-1.作成するDLLの種類:MFCの共有DLLを使用 2-2.オートメーション:チェック無し 2-3.Windowsソケット:チェック有り 2-4.ソースファイルのコメント生成:する これで、DLLのひな型が自動生成されます。 後は、プロジェクトに関数をどんどん追加していけばOKです。 ただし、注意点が何点かあります。 (サンプル:ZZsocksend_VC.cpp) ////////////////////////////////////////////////////////////////////////////////// // // ファイルヘッダ // // プロジェクト名 // // プロセス 共通関数ライブラリ(DLL) // // ファイル概要 // @(s) // ソケット送信処理 // // 履 歴 // @(h) ZZsocsend_VC.cpp ver 0.0 ( 99.04.15 ) // 新規作成 // ////////////////////////////////////////////////////////////////////////////////// // インクルード定義 #include "stdafx.h" #include "zz_com.h" #include "nhk_def.h" // 各端末共通 デファイン定義 #include "nhk_imsg.h" // 各端末共通メッセージ構造体定義 // デファイン定義 // 外部参照定義 // ソケット切断処理 ////////////////////////////////////////////////////////////////////////////////// // // 関数ヘッダ // // 機能 ソケット送信処理 // // 返り値 正常 RC_NORMAL // 異常 RC_ERROR // // 機能説明 電文をソケットに送信する。 // 異常終了時にソケットを削除する。 // // 備考 この関数が呼ばれる前に、ソケットの初期化が完了していること。 // VC++タスクよりコールされる。 // // ////////////////////////////////////////////////////////////////////////////////// { // 内部参照定義 long rsts; // 関数戻り値 rsts = send(soc,send_buf,send_len,0); // 送信 if(rsts == SOCKET_ERROR) // エラー { rsts = WSAGetLastError( ); // エラー番号取得 return RC_ERROR; // 異常終了 } return RC_NORMAL; // 正常終了 } 必要なヘッダファイルをインクルードします。 ZZsocclose_VC()関数をDLL内の関数から呼び出す時に宣言します。これは、一括してヘッダファイルに定義しても構わないと思います。 関数名の宣言はサンプルのように記述します。関数名はZZsocsend_VC()です。 拡張子がdefのファイルに、追加した関数宣言を記述します。 (サンプル:zz_com.def) ; zz_com.def DLL 用のモジュール パラメータ宣言 LIBRARY "zz_com" DESCRIPTION zz_com Windows Dynamic Link Library EXPORTS ; 明示的なエクスポートはここへ記述できます ZZsocopen_VC @1 ZZsocclose_VC @2 @の後ろの数字は順番に割り当てて下さい。 後はビルドすればOKです。 DLLが完成したら、それを使用してみましょう。 (サンプル:SVEVdllinit.cpp) ////////////////////////////////////////////////////////////////////////////////// // // ファイルヘッダ // // プロジェクト名 システム // // プロセス サーバイベント管理プロセス // // ファイル概要 // @(s) // DLL初期化処理 // // 履 歴 // @(h) SVEVdllinit.cpp ver 0.0 ( 00.06.08 ) // 新規作成 // ////////////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "SVEVcom.h" // デファイン定義 // 外部参照定義 ////////////////////////////////////////////////////////////////////////////////// // // 関数ヘッダ // // 機能 DLL初期化処理 // // 返り値 正常 TRUE // 異常 FALSE // // 機能説明 DLL化された関数を使用可能にする。 // // 備考 // ////////////////////////////////////////////////////////////////////////////////// bool SVEVdllinit( void ) { char DllPathName[255]; // DLLパス int Ret; // 関数戻り値 // デバッグ文出力 TRACE("%s[%d] 開始\n",__file__,__line__); //----------------------------------------------------------------------------- /// DLLとのリンクを確立 //----------------------------------------------------------------------------- // DLLファイルパスの取得 // DLLのパス名を取得する if( Ret != RC_NORMAL ) // パス名称取得エラーか { // デバッグ文出力 TRACE("%s[%d] DLLファイルパス名取得失敗\n",__file__,__line__); sprintf( DllPathName[0], "DLLファイルパス名の取得に失敗しました。\nレジストリキー(%s)を確認してください。", REGKEY_DLLPATH ); // エラー出力メッセージを編集する AfxMessageBox( DllPathName[0], MB_OK | MB_ICONERROR ); // エラーメッセージ表示 return( FALSE ); // エラーで戻り値を返す } // パス名とDLL名を連結する strcat( DllPathName, DLL_NAME ); // インスタンスにDLLをリンクする // リンク失敗 if( Inst_ZZ_VC (HINSTANCE)HINSTANCE_ERROR ) { // デバッグ文出力 TRACE("%s[%d] LoadLibrary失敗\n",__file__,__line__); // エラーでリターンする return( FALSE ); } //----------------------------------------------------------------------------- /// DLL関数のアドレスを取得 //----------------------------------------------------------------------------- // ソケット送信処理の関数アドレスを取得する // アドレス取得失敗 if( ZZsocsend_VC == NULL ) { // デバッグ文出力 TRACE("%s[%d] ZZsocsend_VC()アドレス取得失敗\n",__file__,__line__); // エラーでリターンする return( FALSE ); } // デバッグ文出力 TRACE("%s[%d] 終了\n",__file__,__line__); // 正常でリターンする return( TRUE ); } 手順としてはDLLのパス名を取得して、リンクを張ります。 そしてGetProcAddress()関数を用いて関数アドレスに特定のアドレスに関数実体を割り当てます。 この時、外部変数定義で以下のような定義が必要になります。 ////////////////////////////////////////////////////////////////////////////////////// // DLL参照用宣言 ////////////////////////////////////////////////////////////////////////////////////// // インスタンス EXTERN HINSTANCE Inst_ZZ_VC; // ZZ_VC.DLLへのインスタンス ////////////////////////////////////////////////////////////////////////////////////// // DLLの関数プロトタイプ宣言 ////////////////////////////////////////////////////////////////////////////////////// // ソケット送信処理 EXTERN long ( _stdcall * ZZsocsend_VC )( int soc, char *send_buf, UINT send_len ); 当然DLLを使用し終わったら解放します。 終了関数等に以下の行を追加して下さい。 //----------------------------------------------------------------------------- /// DLLリンク解放処理 //----------------------------------------------------------------------------- // DLLのリンクが有効かチェック
https://w.atwiki.jp/jamila/pages/13.html
トップページ ./ Visual Studio 2008内の特大アイコンを含むexeとdllのまとめ Visual Studio 2005、2008、2010でソリューションを共有する方法
https://w.atwiki.jp/exvs2xb/pages/675.html
少し追記しました。おかしな箇所・間違ってる箇所等ありましたら修正をお願いします。 -- (名無しさん) 2021-11-03 22 58 45 今作は暗黒期だったね… 次回作では準環境くらいの位置で居座っていて欲しいなー また使いたい -- (名無しさん) 2023-04-01 23 38 46 【Vtuber】さくらゆいLive2d製作プロジェクト【クラリネット演奏VST】 クラウドファンディングがスタートしました! https //camp-fire.jp/projects/view/751075?utm_campaign=cp_po_share_c_msg_mypage_projects_show 期間は7月12日(金)までです! 一生のお願いです、どうかご協力お願いします! -- (名無しさん) 2024-04-28 14 30 33
https://w.atwiki.jp/flyffer/pages/4.html
新しい配布場所 http //www42.tok2.com/home/flyffer/ 避難場所 http //flyffer.forums-free.com/ これがデフォルト時です。 ?xml version="1.0" encoding="shift-jis"? Flyffer option fps="1" skipPaint="1" skipClear="1" optimizePriority="1" optimizePriority2="0" noExclusive="1" noFullscreen="1" window="0" workArea="1" noFog="1" noVertexShader="0" wait="100" mute="0"/ module path="Flyffer/FlyfferOutput.dll"/ module path="Flyffer/FlyfferView.dll"/ module path="Flyffer/FlyfferAutoRepair.dll"/ !-- module path="Flyffer/FlyfferMusic.dll"/ module path="Flyffer/FlyfferDisguiser.dll"/ -- /Flyffer これでは !-- -- の間の部分が読み込んでいない為 Music.xml Disguiser.xml Scouter.xmlなどが 使えていない状態で、 !-- -- を消してしまえば 使えるようになります。 上記にはないですが module path="Flyffer/FlyfferFlyfferScouter.dll"/ も入れるといいでしょう。選択した相手のlv職業などが分かります。
https://w.atwiki.jp/lockerroom/pages/13.html
ActiveX.ahk /* COM操作ライブラリby 流行らせるページ管理人 Ver 3β / ActiveX(){ global IID_IDispatch =GUID("{00020400-0000-0000-C000-000000000046}") IID_IUnknown =GUID("{00000000-0000-0000-C000-000000000046}") IID_NULL =GUID("{00000000-0000-0000-0000-000000000000}") IID_IConnectionPointContainer =GUID("{B196B284-BAB4-101A-B69C-00AA00341D07}") IID_IProvideClassInfo =GUID("{B196B283-BAB4-101A-B69C-00AA00341D07}") ;IID_IProvideClassInfo2 =GUID("{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}") LOCALE_USER_DEFAULT =DllCall("kernel32.dll¥GetUserDefaultLCID") CoInitialize() } /* ********************************** 汎用メモリ管理 ********************************** / ;メモリを確保しポインタを返す Malloc(size,flag=0x40){ return DllCall("kernel32.dll¥GlobalAlloc","UInt",flag,"UInt",size,"UInt") } ;ポインタで指定されたメモリを解放する Free(p){ DllCall("kernel32.dll¥GlobalFree",UInt,p,UInt) } /* ********************************** GUID関連 ********************************** / ;CLSID文字列からGUID構造体を生成しアドレスを得る(仮) GUID(string){ size =DllCall("kernel32.dll¥MultiByteToWideChar","UInt",0,"UInt",0,"Str",string,"Int",-1,"UInt",0,"Int",0) wstr =Malloc((size+1)*2) DllCall("kernel32.dll¥MultiByteToWideChar","UInt",0,"UInt",0,"Str",string,"Int",-1,"UInt",wstr,"Int",(size+1)*2) ptr =Malloc(16) DllCall("ole32.dll¥CLSIDFromString","UInt",wstr,"UInt",ptr) Free(wstr) return ptr } ;ProgID文字列からGUID構造体を生成しアドレスを得る(仮) ProgID(string){ size =DllCall("kernel32.dll¥MultiByteToWideChar","UInt",0,"UInt",0,"Str",string,"Int",-1,"UInt",0,"Int",0) wstr =Malloc((size+1)*2) DllCall("kernel32.dll¥MultiByteToWideChar","UInt",0,"UInt",0,"Str",string,"Int",-1,"UInt",wstr,"Int",(size+1)*2) ptr =Malloc(16) DllCall("ole32.dll¥CLSIDFromProgID","UInt",wstr,"UInt",ptr) Free(wstr) return ptr } ;GUID構造体を文字列に変換 fromGUID(ByRef guid){ ptr =Malloc(80) DllCall("ole32.dll¥StringFromGUID2","UInt",guid,"UInt",ptr,"Int",80) res =wc2mb(ptr) Free(ptr) return res } /* ********************************** Unicode関連 ********************************** / ;文字列からにUnicodeへの変換を行う ;返り値はUnicode文字列へのポインタ mb2wc(mbstr){ size =(DllCall("kernel32.dll¥MultiByteToWideChar","UInt",0,"UInt",0,"Str",mbstr,"Int",-1,"UInt",0,"Int",0)+1)*2 wstr =Malloc(size) DllCall("kernel32.dll¥MultiByteToWideChar","UInt",0,"UInt",0,"Str",mbstr,"Int",-1,"UInt",wstr,"Int",size) return wstr } mb2wc_ref(ByRef mbstr){ size =(DllCall("kernel32.dll¥MultiByteToWideChar","UInt",0,"UInt",0,"Str",mbstr,"Int",-1,"UInt",0,"Int",0)+1)*2 wstr =Malloc(size) DllCall("kernel32.dll¥MultiByteToWideChar","UInt",0,"UInt",0,"Str",mbstr,"Int",-1,"UInt",wstr,"Int",size) return wstr } ;UnicodeからAnsi文字列への変換を行う ;返り値は文字列 wc2mb(wstr){ size =DllCall("kernel32.dll¥WideCharToMultiByte","UInt",0,"UInt",0,"UInt",wstr,"Int",-1,"UInt",0,"Int",0,"UInt",0,"UInt",0) VarSetCapacity(mbstr,size) DllCall("kernel32.dll¥WideCharToMultiByte","UInt",0,"UInt",0,"UInt",wstr,"Int",-1,"Str",mbstr,"Int",size,"UInt",0,"UInt",0) return mbstr } wc2mb_ref(wstr,ByRef mbstr){ size =DllCall("kernel32.dll¥WideCharToMultiByte","UInt",0,"UInt",0,"UInt",wstr,"Int",-1,"UInt",0,"Int",0,"UInt",0,"UInt",0) VarSetCapacity(mbstr,size) DllCall("kernel32.dll¥WideCharToMultiByte","UInt",0,"UInt",0,"UInt",wstr,"Int",-1,"Str",mbstr,"Int",size,"UInt",0,"UInt",0) return size } /* ********************************** COM汎用 ********************************** / CoInitialize(){ return DllCall("ole32.dll¥CoInitialize","UInt",0,"UInt") } CoUninitialize(){ return DllCall("ole32.dll¥CoUninitialize","UInt",0,"UInt") } OleInitialize(){ return DllCall("ole32.dll¥OleInitialize","UInt",0,"UInt") } OleUninitialize(){ return DllCall("ole32.dll¥OleUninitialize","UInt",0,"UInt") } CoTaskMemAlloc(size){ return DllCall("ole32.dll¥CoTaskMemAlloc","UInt",size,"UInt") } CoTaskMemFree(ptr){ return DllCall("ole32.dll¥CoTaskMemFree","UInt",ptr,"UInt") } M(ByRef ip,idx=0){ return NumGet(NumGet(ip+0)+4*idx) } QueryInterface(pObj,strIID=""){ global IID_IDispatch guid =0 if(strIID=""){ IID =IID_IDispatch }else if(StrLen(strIID)=38){ IID =GUID(strIID) }else{ IID =strIID } res =0 ErrorLevel =DllCall(M(pObj,0),"UInt",pObj,"UInt",IID,"UIntP",res) return res } AddRef(pObj){ if(pObj){ DllCall(M(pObj,1),"UInt",pObj) } return pObj } Release(pObj){ if(pObj){ return DllCall(M(pObj,2),"UInt",pObj) } } ReleaseL(p1,p2=-1,p3=-1,p4=-1,p5=-1,p6=-1,p7=-1,p8=-1,p9=-1){ format =A_FormatInteger SetFormat,Integer,D Loop,10{ if(p%A_Index%!=-1){ Release(p%A_Index%) } } SetFormat,Integer,%format% } /* ********************************** VARIANT関連 ********************************** / ;Ansi文字列をBSTR形式に変換する toBSTR(str){ oc =mb2wc(str) res =DllCall("oleaut32.dll¥SysAllocString","UInt",oc,"UInt") Free(oc) return res } ;BSTRをAnsi文字列に変換する fromBSTR(bstr){ return wc2mb(bstr) } ;BSTRを解放する(VariantClear内でやってくれるはずなので多分不要) freeBSTR(bstr,get=0){ if(get!=0){ wc2mb_ref(bstr,res) }else{ res= } DllCall("oleaut32.dll¥SysFreeString","UInt",bstr) return res } vNull(){ return 0x7FFFFFFF00000000 } vObj(obj){ return 0x7FFFFFFF00000000 | obj } ;VARIANTに変換(typeには変換したい型を指定 ;settypeを指定すると、型変換した上で、型を示す値としてsettypeで指定した型を格納する toVariant(value,variant=0,type=0x08,settype=-1){ global LOCALE_USER_DEFAULT ;格納先初期化 if(variant=0){ dest =Malloc(16) }else{ dest =variant } DllCall("oleaut32.dll¥VariantInit","UInt",dest) if(type=0x08){ if(value 32 = 0x7FFFFFFF){ if(value-0x7FFFFFFF00000000=0){ ;VT_NULL NumPut(0x01,dest+0,0,"UShort") }else{ ;VT_DISPATCH NumPut(0x09,dest+0,0,"UShort") NumPut(value - 0x7FFFFFFF00000000,dest+8,0) } }else{ ;文字列の場合 NumPut(0x08,dest+0,0,"UShort") NumPut(toBSTR(value),dest+8,0) } }else{ ;それ以外の型の場合 tmp =toVariant(value) DllCall("oleaut32.dll¥VariantChangeTypeEx","UInt",dest,"UInt",tmp,"UInt",LOCALE_USER_DEFAULT,"UShort",0,"UShort",type) if(settype!=-1){ NumPut(settype,dest+0,0,"UShort") } vFree(tmp) } return dest } ;VARIANTに格納された内容を通常のAutoHotkey変数として取得 ;rawsizeが1,2,4の場合、格納されている生の値を取得 ;rawsizeが0の場合、文字列に変換して取得 fromVariant(var,rawsize=0){ global LOCALE_USER_DEFAULT if(rawsize=0){ type =NumGet(var+0,0,"UShort") if((type=9)||(type=13)){ ;COMオブジェクト pObj =NumGet(var+8) AddRef(pObj) return pObj }else if(type 0xFF){ ;ポインタもしくは配列(暫定) return NumGet(var+8) }else{ ;VT_BSTRに変換 var2 =Malloc(16) DllCall("oleaut32.dll¥VariantInit","UInt",var2) DllCall("oleaut32.dll¥VariantChangeTypeEx","UInt",var2,"UInt",var,"UInt",LOCALE_USER_DEFAULT,"UShort",0,"UShort",0x8) ;値をAnsiに変換 wc2mb_ref(NumGet(var2+8),res) vFree(var2) return res } }else if(rawsize=1){ return NumGet(var+8,0,"UChar") }else if(rawsize=2){ return NumGet(var+8,0,"UShort") }else if(rawsize=4){ return NumGet(var+8) }else{ return fromVariant(var,0) } } ;VARIANTを解放(getに-1以外を指定すると、値を取得して返す) vFree(ByRef var,get=-1){ if(get!=-1){ res =fromVariant(var,get) }else{ res =0 } DllCall("oleaut32.dll¥VariantClear","UInt",var) Free(var) return res } /* ********************************** IDispatch用 ********************************** / ;オブジェクトを生成する CreateObject(clsid,iid="",CLSCTX=5){;CLSCTX_SERVER global IID_IDispatch if(!IID_IDispatch){ ActiveX() } guid =0 if(RegExMatch(clsid,"^¥{[¥-0-9a-fA-F]{36}¥}$")){ guid =GUID(clsid) }else{ guid =ProgID(clsid) } if(iid=""){ iid2 =IID_IDispatch }else{ iid2 =GUID(iid) } ppRes =0 el =DllCall("ole32.dll¥CoCreateInstance","UInt",guid,"UInt",0,"UInt",CLSCTX,"UInt",iid2,"UIntP",ppRes,"UInt") Free(guid) if(iid2!=IID_IDispatch){ Free(iid2) } ErrorLevel =el return ppRes } ;objが持つnameメンバのDispatchIDを得る GetDispID(ByRef obj,name){ global IID_NULL,LOCALE_USER_DEFAULT wName =mb2wc_ref(name) dispid =0 DllCall(M(obj,5),"UInt",obj,"UInt",IID_NULL,"UIntP",wName,"UInt",1,"UInt",LOCALE_USER_DEFAULT,"UIntP",dispid,"UInt") Free(wName) return dispid } ;引数からDISPPARAMSを生成 CreateParam(ByRef p1, ByRef p2, ByRef p3, ByRef p4, ByRef p5, ByRef p6, ByRef p7, ByRef p8, ByRef p9, ByRef p10){ ;引数を数える(0xFFFFFFFFFFFFFFFFの前までが与えられた引数) num =0 format =A_FormatInteger SetFormat,Integer,D Loop,10{ if(p%A_Index%=0xFFFFFFFFFFFFFFFF){ break } num++ } ;num個のVARIANTARG配列を作成 if(num=0){ pvArgs =0 }else{ pvArgs =Malloc(16*num) ptr =pvArgs+16*(num-1) ;引数をセットしていく Loop,%num%{ toVariant(p%A_Index%,ptr) ptr-=16 } } SetFormat,Integer,%format% ;DISPPARAMS作成 res =Malloc(16) NumPut(pvArgs,res+0) NumPut(num,res+8) return res } ;DISPPARAMSを解放 FreeParam(ByRef params){ num =NumGet(params+8) pvArgs =NumGet(params+0) pvNArgs =NumGet(params+4) ;VARIANTARGの解放処理 ptr =pvArgs Loop,%num%{ vFree(ptr) ptr+=16 } ;VARIANTARG自体の解放 Free(ptr) ;rgdispidNamedArgsの解放 if(pvNArgs!=0){ Free(pvNArgs) } ;本体メモリ解放 Free(params) } Invoke(ByRef pObj,ByRef dispid,mode,ByRef params){ global IID_NULL,LOCALE_USER_DEFAULT pvRes =Malloc(16) DllCall("oleaut32.dll¥VariantInit",UInt,pvRes) DllCall(M(pObj,6),UInt,pObj,UInt,dispid,UInt,IID_NULL,UInt,LOCALE_USER_DEFAULT,UInt,mode,UInt,params,UInt,pvRes,UInt,0,UInt,0,UInt) return pvRes } inv(obj,name,p1=0xFFFFFFFFFFFFFFFF,p2=0xFFFFFFFFFFFFFFFF,p3=0xFFFFFFFFFFFFFFFF,p4=0xFFFFFFFFFFFFFFFF,p5=0xFFFFFFFFFFFFFFFF,p6=0xFFFFFFFFFFFFFFFF,p7=0xFFFFFFFFFFFFFFFF,p8=0xFFFFFFFFFFFFFFFF,p9=0xFFFFFFFFFFFFFFFF,p10=0xFFFFFFFFFFFFFFFF){ if((dispid =GetDispID(obj,name))!=0){ params =CreateParam(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) pvRes =Invoke(obj,dispid,1,params) FreeParam(params) return vFree(pvRes,0) } } gp(obj,name,p1=0xFFFFFFFFFFFFFFFF,p2=0xFFFFFFFFFFFFFFFF,p3=0xFFFFFFFFFFFFFFFF,p4=0xFFFFFFFFFFFFFFFF,p5=0xFFFFFFFFFFFFFFFF,p6=0xFFFFFFFFFFFFFFFF,p7=0xFFFFFFFFFFFFFFFF,p8=0xFFFFFFFFFFFFFFFF,p9=0xFFFFFFFFFFFFFFFF,p10=0xFFFFFFFFFFFFFFFF){ if((dispid =GetDispID(obj,name))!=0){ params =CreateParam(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) pvRes =Invoke(obj,dispid,2,params) FreeParam(params) return vFree(pvRes,0) } } pp(obj,name,p1=0xFFFFFFFFFFFFFFFF,p2=0xFFFFFFFFFFFFFFFF,p3=0xFFFFFFFFFFFFFFFF,p4=0xFFFFFFFFFFFFFFFF,p5=0xFFFFFFFFFFFFFFFF,p6=0xFFFFFFFFFFFFFFFF,p7=0xFFFFFFFFFFFFFFFF,p8=0xFFFFFFFFFFFFFFFF,p9=0xFFFFFFFFFFFFFFFF,p10=0xFFFFFFFFFFFFFFFF){ if((dispid =GetDispID(obj,name))!=0){ params =CreateParam(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) ;rgdispidNamedArgsのセット namedArgs =Malloc(4) NumPut(namedArgs,params+4) NumPut(0xFFFFFFFD,namedArgs+0) NumPut(1,params+12) pvRes =Invoke(obj,dispid,4,params) FreeParam(params) return vFree(pvRes) } } /* ********************************** イベントシンク用コールバック関数 ********************************** / GuidIsEqual(guid1,guid2){ return DllCall("MSVCRT.dll¥memcmp","UInt",guid1,"UInt",guid2,"UInt",16)=0 } EVENTSINK_QueryInterface(pEv,iid,ppv){ global if(GuidIsEqual(iid,NumGet(pEv+8))||GuidIsEqual(iid,IID_IDispatch)||GuidIsEqual(iid,IID_IUnknown)){ NumPut(pEv,ppv+0) DllCall(M(pEv,1),"UInt",pEv) return 0 } NumPut(0,ppv+0) return 0x80004002 } EVENTSINK_AddRef(pEv){ cRef =NumGet(pEv+4) cRef++ NumPut(cRef,pEv+4) return cRef } EVENTSINK_Release(pEv){ cRef =NumGet(pEv+4) cRef-- NumPut(cRef,pEv+4) if(cRef==0){ EVENTSINK_Destructor(pEv) } return cRef } EVENTSINK_GetTypeInfoCount(pEv,pct){ NumPut(0,pct+0) return 0 } EVENTSINK_GetTypeInfo(pEv,info,lcid,pInfo){ return 0x8002000B;DISP_E_BADINDEX } EVENTSINK_GetIDsOfNames(pEv,riid,szNames,cNames,lcid,pDispID){ return 0x80020006;DISP_E_UNKNOWNNAME } EVENTSINK_Invoke(pEv,dispid,riid,lcid,wFlags,params,pvRes,exinf,argerr){ pTypeInfo =NumGet(pEv+24) ;GetNames hr =DllCall(M(pTypeInfo,7),"UInt",pTypeInfo, "UInt",dispid, "UIntP",bstr, "UInt",1, "UIntP",count) if(hr!=0){ return 0 } wc2mb_ref(bstr,ev) cb =GetOleEventCallback(NumGet(pEv+12),ev) if(cb){ DllCall(cb,"UInt",NumGet(pEv+28), "UInt",params, "UInt",pvRes) } } EVENTSINK_Constructor(){ static vtEventSink if(!vtEventSink){ vtEventSink =Malloc(28) NumPut(RegisterCallback("EVENTSINK_QueryInterface"),vtEventSink+0) NumPut(RegisterCallback("EVENTSINK_AddRef"),vtEventSink+4) NumPut(RegisterCallback("EVENTSINK_Release"),vtEventSink+8) NumPut(RegisterCallback("EVENTSINK_GetTypeInfoCount"),vtEventSink+12) NumPut(RegisterCallback("EVENTSINK_GetTypeInfo"),vtEventSink+16) NumPut(RegisterCallback("EVENTSINK_GetIDsOfNames"),vtEventSink+20) NumPut(RegisterCallback("EVENTSINK_Invoke"),vtEventSink+24) } pEv =Malloc(32) NumPut(vtEventSink,pEv+0) return pEv } EVENTSINK_Destructor(pEv){ Release(NumGet(pEv+28)) Free(pEv) } /* ********************************** コネクト用のインターフェイスIDを検索 ********************************** / find_iid(ByRef obj,ByRef itf,ByRef iid,ByRef refPTypeInfo=0xFFFFFFFFFFFFFFFF){ global LOCALE_USER_DEFAULT ;GetTypeInfo hr =DllCall(M(disp,4),"UInt",obj, "UInt",0, "UInt",LOCALE_USER_DEFAULT, "UIntP",pTypeInfo) if(hr!=0){ return hr } ;GetContainingTypeLib hr =DllCall(M(pTypeInfo,18),"UInt",pTypeInfo, "UIntP",pTypeLib, "UIntP",index) Release(pTypeInfo) if(hr!=0){ return hr } if(!itf){ ;GetTypeInfoOfGuid hr =DllCall(M(pTypeLib,5),"UInt",pTypeLib, "UIntP",iid, "UIntP",refPTypeInfo) Release(pTypeLib) return hr } count =DllCall(M(pTypeLib,3),"UInt",pTypeLib);GetTypeInfoCount found =0 index =0 Loop,%count%{ hr =DllCall(M(pTypeLib,4),"UInt",pTypeLib, "UInt",index, "UIntP",pTypeInfo);GetTypeInfo if(hr!=0){ break } hr =DllCall(M(pTypeInfo,3),"UInt",pTypeInfo, "UIntP",pTypeAttr);GetTypeAttr if(hr!=0){ Release(pTypeInfo) break } if(NumGet(pTypeAttr+40)==5){;typekind==TKIND_COCLASS cTypes =NumGet(pTypeAttr+48,"UShort");cImplTypes type =0 Loop,%cTypes%{ hr =DllCall(M(pTypeInfo,8),"UInt",pTypeInfo, "UInt",type, "UIntP",RefType);GetRefTypeOfImplType if(hr!=0){ break } hr =DllCall(M(pTypeInfo,14),"UInt",pTypeInfo, "UInt",RefType, "UIntP",pImplTypeInfo);GetRefTypeInfo if(hr!=0){ break } ;GetDocumentation hr =DllCall(M(pImplTypeInfo,12),"UInt",pImplTypeInfo, "Int",-1, "UIntP",bstr, "UInt",0, "UInt",0, "UInt",0) if(hr!=0){ Release(pImplTypeInfo) break } wc2mb_ref(bstr,str) if(str==itf){ ;GetTypeAttr if(DllCall(M(pImplTypeInfo,3),"UInt",pImplTypeInfo, "UIntP",pImplTypeAttr)=0){ found =1 iid =Malloc(16) DllCall("kernel32.dll¥RtlMoveMemory", "UInt",iid, "UInt",pImplTypeAttr, "UInt",16) if(refPTypeInfo!=0xFFFFFFFFFFFFFFFF){ refPTypeInfo =pImplTypeInfo AddRef(pImplTypeInfo) } ;ReleaseTypeAttr DllCall(M(pImplTypeInfo,3),"UInt",pImplTypeInfo, "UInt",pImplTypeAttr) } } Release(pImplTypeInfo) if(found||(hr!=0)){ break } type++ } } hr =DllCall(M(pTypeInfo,3),"UInt",pTypeInfo, "UInt",pTypeAttr);ReleaseTypeAttr Release(pTypeInfo) if(found||(hr!=0)){ break } index++ } Release(pTypeLib) if(!found){ return 0x80004002 }else{ return hr } } find_default_source(ByRef obj,ByRef iid,ByRef refPTypeInfo){ global IID_IProvideClassInfo;,IID_IProvideClassInfo2 /* pProvideClassInfo2 =QueryInterface(obj,IID_IProvideClassInfo2) if(ErrorLevel________==0){ ;GetGUID hr =DllCall(M(pProvideClassInfo2,4),"UInt",pProvideClassInfo2, "UInt",1, "UIntP",iid) Release(pProvideClassInfo2) return find_iid(obj,"",iid,refPTypeInfo) } / pProvideClassInfo =QueryInterface(obj,IID_IProvideClassInfo) if(ErrorLevel!=0){ return ErrorLevel } ;GetClassInfo hr =DllCall(M(pProvideClassInfo,3),"UInt",pProvideClassInfo, "UIntP",pTypeInfo) Release(pProvideClassInfo) if(hr!=0){ return hr } ;GetTypeAttr hr =DllCall(M(pTypeInfo,3),"UInt",pTypeInfo, "UIntP",pTypeAttr) if(hr!=0){ Release(pTypeInfo) return hr } cTypes =NumGet(pTypeAttr+48,"UShort");cImplTypes type =0 Loop,%cTypes%{ hr =DllCall(M(pTypeInfo,9),"UInt",pTypeInfo, "UInt",type, "UIntP",iFlags);GetImplTypeFlags if(hr!=0){ continue } if((iFlags 0x3)=0x3){;((iFlags IMPLTYPEFLAG_FDEFAULT) (iFlags IMPLTYPEFLAG_FSOURCE)) hr =DllCall(M(pTypeInfo,8),"UInt",pTypeInfo, "UInt",type, "UIntP",RefType);GetRefTypeOfImplType if(hr!=0){ continue } hr =DllCall(M(pTypeInfo,14),"UInt",pTypeInfo, "UInt",RefType, "UIntP",refPTypeInfo);GetRefTypeInfo if(hr!=0){ break } } type++ } DllCall(M(pTypeInfo,3),"UInt",pTypeInfo, "UInt",pTypeAttr);ReleaseTypeAttr Release(pTypeInfo) if(!refPTypeInfo){ if(hr==0){ return 0x8000FFFF }else{ return hr } } if(DllCall(M(refPTypeInfo,3),"UInt",refPTypeInfo, "UIntP",pTypeAttr)=0){;GetTypeAttr iid =Malloc(16) DllCall("kernel32.dll¥RtlMoveMemory", "UInt",iid, "UInt",pTypeAttr, "UInt",16) DllCall(M(refPTypeInfo,3),"UInt",refPTypeInfo, "UInt",pTypeAttr);ReleaseTypeAttr }else{ Release(refPTypeInfo) refPTypeInfo ="" } return hr } EntryOleEventPrefix(ByRef prefix){ global static OleEventCount=0 if(OleEventID_%prefix%){ return OleEventID_%prefix% }else{ OleEventID_%prefix% =OleEventCount OleEventPrefix_%OleEventCount% =prefix return OleEventCount++ } } GetOleEventCallback(id,ByRef evt){ global local prefix,cb prefix =OleEventPrefix_%id% if(prefix){ if(OleEventCallback_%prefix%%evt%){ return OleEventCallback_%prefix%%evt% } cb =RegisterCallback(prefix . evt) if(cb){ OleEventCallback_%prefix%%evt% =cb return cb } } } ConnectObject(obj,prefix,itf=0xFFFFFFFFFFFFFFFF){ global IID_IConnectionPointContainer if(itf==0xFFFFFFFFFFFFFFFF){ hr =find_default_source(obj,iid,pTypeInfo) }else{ hr =find_iid(obj,itf,iid,pTypeInfo) } if(hr!=0){ ErrorLevel =hr return 0 } pContainer =QueryInterface(obj,IID_IConnectionPointContainer) if(ErrorLevel!=0){ Release(pTypeInfo) return 0 } ;FindConnectionPoint hr =DllCall(M(pContainer,4),"UInt",pContainer, "UInt",iid, "UIntP",pConnectionPoint) Release(pContainer) if(hr!=0){ Release(pTypeInfo) return 0 } pIEV =EVENTSINK_Constructor() NumPut(iid,pIEV+8) ;Advise hr =DllCall(M(pConnectionPoint,5),"UInt",pConnectionPoint, "UInt",pIEV, "UIntP",dwCookie) if(hr!=0){ return 0 } AddRef(obj) evid =EntryOleEventPrefix(prefix) NumPut(evid,pIEV+12) NumPut(dwCookie,pIEV+16) NumPut(pConnectionPoint,pIEV+20) NumPut(pTypeInfo,pIEV+24) NumPut(obj,pIEV+28) } evArgc(ByRef para){ return NumGet(para+8) } evArgv(ByRef para,idx){ num =NumGet(para+8) if(idx num){ return fromVariant(NumGet(para+0)+(num-1-idx)*16) } } evReturn(ByRef res,value){ toVariant(value,res) } /* ********************************** ディスパッチオブジェクト作成 ********************************** / DISPATCH_QueryInterface(ptr,iid,ppv){ global if(GuidIsEqual(iid,IID_IDispatch)||GuidIsEqual(iid,IID_IUnknown)){ NumPut(ptr,ppv+0) DllCall(M(ptr,1),"UInt",ptr) return 0 }else{ NumPut(0,ppv+0) return 0x80004002 } } DISPATCH_AddRef(ptr){ cRef =NumGet(ptr+4) cRef++ NumPut(cRef,ptr+4) return cRef } DISPATCH_Release(ptr){ cRef =NumGet(ptr+4) cRef-- NumPut(cRef,ptr+4) if(cRef==0){ Free(ptr) } return cRef } DISPATCH_GetTypeInfoCount(ptr,pct){ NumPut(0,pct+0) return 0 } DISPATCH_GetTypeInfo(ptr,info,lcid,pInfo){ return 0x8002000B;DISP_E_BADINDEX } DISPATCH_GetIDsOfNames(ptr,riid,pszNames,cNames,lcid,pDispID){ wc2mb_ref(NumGet(pszNames+0),name) hr =GetOleMethodCallback(NumGet(ptr+12),name,cb) NumPut(cb,pDispID+0) return hr } DISPATCH_Invoke(ptr,dispid,riid,lcid,wFlags,params,pvRes,exinf,argerr){ DllCall(dispid,"UInt",ptr, "UInt",params, "UInt",pvRes, "UInt",wFlags) return 0 } EntryOleMethodsPrefix(ByRef prefix,ByRef id){ global static OleMethodsCount=0 if(OleMethodsID_%prefix%){ id =OleMethodsID_%prefix% }else{ OleMethodsID_%prefix% =OleMethodsCount OleMethodsPrefix_%OleMethodsCount% =prefix id =OleMethodsCount++ } } GetOleMethodCallback(id,ByRef name,ByRef cb){ global local prefix cb =0 prefix =OleMethodsPrefix_%id% if(prefix){ if(OleMethodCallback_%prefix%%name%){ cb =OleMethodCallback_%prefix%%name% return 0 }else{ cb =RegisterCallback(prefix . name) if(cb){ OleMethodCallback_%prefix%%name% =cb return 0 }else{ return 0x80020006 } } } } CreateDispatchObject(prefix,exsize=0){ global IID_IDispatch static vtDispatch if(!vtDispatch){ vtDispatch =Malloc(28) NumPut(RegisterCallback("DISPATCH_QueryInterface"),vtDispatch+0) NumPut(RegisterCallback("DISPATCH_AddRef"),vtDispatch+4) NumPut(RegisterCallback("DISPATCH_Release"),vtDispatch+8) NumPut(RegisterCallback("DISPATCH_GetTypeInfoCount"),vtDispatch+12) NumPut(RegisterCallback("DISPATCH_GetTypeInfo"),vtDispatch+16) NumPut(RegisterCallback("DISPATCH_GetIDsOfNames"),vtDispatch+20) NumPut(RegisterCallback("DISPATCH_Invoke"),vtDispatch+24) } EntryOleMethodsPrefix(prefix,id) ptr =Malloc(12+exsize) NumPut(vtDispatch,ptr+0) NumPut(IID_IDispatch,ptr+8) NumPut(id,ptr+12) return ptr }
https://w.atwiki.jp/boare/pages/256.html
English 日本語 リリースノート リリース日 2010/9/9 注意事項 このバージョンでは、Cadencii 2.1.4以前向けに作成したスクリプトおよびパレットツールが動作しなくなる場合があります。動かなくなったスクリプトなどのメンテナンスはサポート掲示板のスクリプト開発支援&投稿用スレッドで受け付けます。 Cadenciiを起動するには、version 2.0以降の.NET Framework Runtimeが必要です。Windows Vistaより新しいOSの場合、OSに.NET Frameworkが予めインストールされているので、改めてインストールする必要はありません。入手先は以下の通りです。 .NET Framework Runtime .NET Framework Developer Center ダウンロード Straight x UTAU(vConnect, vConnectVCV)の機能を利用するには、Visual C++ ライブラリDLLが必要です。入手先は以下の通りです。 Visual C++ ライブラリDLL Microsoft Visual C++ 2008 再頒布可能パッケージ (x86) 最新バージョンのmonoを用いることで、monoが対応する各種プラットフォーム上でCadenciiを起動することが出来ます。ただし、この場合VOCALOID / VOCALOID2 VSTiを使用する各機能およびサウンド関連の機能は使用できません。monoの入手先は下記の通りです。 mono download ダウンロード Cadencii version 3.0.24 (1.7MB) 不具合の修正 WAVE書き出しで既存のファイルを上書きするとき、WAVEファイルが壊れる可能性があるのを修正 ビブラート長さを100%にした時ビブラートがかからなくなるのを修正 VSQファイルへの歌詞保存時に引用符が正しく処理されないのを修正 VSQファイル保存時に,LyricHandleの歌詞Deltaが正しく処理されないのを修正 最大フレームレートの設定が効いていないのを修正 Straight x UTAU用のoto.iniに登録されているはずの音符が「ファイルなし」の警告表示になるのを修正 Cadenciiで出力したVSQファイルがUTAUで読み込めないのを修正 コントロールカーブ編集時の自動スクロールがおかしいのを修正 発音記号の編集を行うたびにConsonant Adjustmentが強制リセットされるのを修正 VOCALOIDがインストールされたPCにおいて、VOCALOIDシステムのデフォルトのRateBP,DepthBPが正しく読み込まれないのを修正 歌詞の流し込みの際、選択した音符とそれに後続する音符の総数が、流し込みダイアログに入力された歌詞の個数より大きい場合に流し込みが行われないのを修正 ソースコードの入手方法 3.0系統のソースコードはSourceForge.JPのCadenciiのSVNリポジトリにあります。SVNリポジトリのチェックアウトは、次を参考に行ってください。 svn checkout -r 1254 http //svn.sourceforge.jp/svnroot/cadencii/Cadencii/branches/3.0 ./ 上記のコマンドは、このバージョンのソースコードをチェックアウトする場合のものです。
https://w.atwiki.jp/archiver/
【現行】 圧縮解凍ソフトいいのはどれ? Part36 http //anago.2ch.net/test/read.cgi/software/1334590806/ 以下テンプレ(最新) 圧縮解凍ソフト全般を語るスレ。 ファイラー・圧縮音楽は各専用スレへ。 圧縮解凍ソフトいいのはどれ? まとめ http //www12.atwiki.jp/archiver/ 前スレ 圧縮解凍ソフトいいのはどれ? Part35 http //hibari.2ch.net/test/read.cgi/software/1305781283/ 関連は 2-10あたり [過去スレ] 01 http //pc.2ch.net/software/kako/985/985875311.html 02 http //pc.2ch.net/software/kako/1013/10134/1013447637.html 03 http //pc3.2ch.net/software/kako/1026/10261/1026176412.html 04 http //pc3.2ch.net/software/kako/1034/10349/1034921591.html 05 http //pc3.2ch.net/software/kako/1039/10395/1039522075.html 06 http //pc5.2ch.net/software/kako/1043/10431/1043165952.html 07 http //pc5.2ch.net/software/kako/1049/10497/1049722785.html 08 http //pc5.2ch.net/software/kako/1061/10613/1061317185.html 09 http //pc2.2ch.net/test/read.cgi/software/1065861015/ (あぼーん) 10 http //pc2.2ch.net/test/read.cgi/software/1072655541/ (あぼーん) 11 http //pc5.2ch.net/test/read.cgi/software/1076392890/ 12 http //pc5.2ch.net/test/read.cgi/software/1084901121/ 13 http //pc5.2ch.net/test/read.cgi/software/1093018836/ 14 http //pc5.2ch.net/test/read.cgi/software/1096369005/ 15 http //pc5.2ch.net/test/read.cgi/software/1098600049/ (実質15) 16 http //pc5.2ch.net/test/read.cgi/software/1103032000/ 17 http //pc8.2ch.net/test/read.cgi/software/1106408912/ 18 http //pc8.2ch.net/test/read.cgi/software/1112266588/ 19 http //pc8.2ch.net/test/read.cgi/software/1115822964/ 20 http //pc7.2ch.net/test/read.cgi/software/1122777916/ 21 http //pc7.2ch.net/test/read.cgi/software/1128073062/ 22 http //pc7.2ch.net/test/read.cgi/software/1131839856/ 23 http //pc7.2ch.net/test/read.cgi/software/1135583018/ (1) 23 http //pc7.2ch.net/test/read.cgi/software/1135575131/ (2) 24 http //pc7.2ch.net/test/read.cgi/software/1140424005/ 25 http //pc7.2ch.net/test/read.cgi/software/1145253444/ 26 http //pc7.2ch.net/test/read.cgi/software/1154176038/ 27 http //pc7.2ch.net/test/read.cgi/software/1159606853/ 28 http //pc11.2ch.net/test/read.cgi/software/1170407082/ 29 http //pc11.2ch.net/test/read.cgi/software/1183772853/ 30 http //pc11.2ch.net/test/read.cgi/software/1198742345/ 31 http //pc11.2ch.net/test/read.cgi/software/1205217450/ 32 http //pc11.2ch.net/test/read.cgi/software/1221209180/ 33 http //pc12.2ch.net/test/read.cgi/software/1237006466/ 34 http //hibari.2ch.net/test/read.cgi/software/1266330986/ 35 http //hibari.2ch.net/test/read.cgi/software/1305781283/ [関連URL] 統合アーカイバプロジェクト http //www.csdinc.co.jp/archiver/ Archon2 (DLL型) http //hp.vector.co.jp/authors/VA030681/ Cube ICE (DLL/内蔵型) http //www.cube-soft.jp/ Deaces (DLL型) http //www.fsinet.or.jp/~vinao/ Explzh (DLL/内蔵型) (\1,000) http //www.ponsoftware.com/ FPress (DLL型) http //www.csdinc.co.jp/archiver/app/arc/fpress.html LhaForge (DLL型) http //claybird.sakura.ne.jp/ Lhaplus (内蔵型) http //www7a.biglobe.ne.jp/~schezo/ Lhaz (内蔵型) http //chitora.com/ LHMelt (DLL型) http //homepage3.nifty.com/micco/micindex.html Noah (DLL型) / Caldix (DLL自動インストーラ) http //www.kmonos.net/ VECA (DLL型) http //hp.vector.co.jp/authors/VA011258/ ZELDA (内蔵型) (\1,000) http //homepage1.nifty.com/arksystems/ 解凍レンジ (内蔵型) / Easy圧縮 (内蔵型) http //sira.jp/soft/ 7-Zip (.7z .xz) http //sevenzip.sourceforge.jp/ CBT (.cbt) http //www.vector.co.jp/soft/dl/win95/util/se212880.html DeepFreezer (.yz1) http //www.vector.co.jp/soft/win95/util/se052414.html DGCA (.dgc) / GCA (.gca) http //www.emit.jp/ StuffIt (.sit) http //stuffit.com/ WinAce (.ace) ($29.00) http //www.winace.com/ WinRAR (.rar) (\3,480) http //www.diana.dti.ne.jp/~winrar/ WinZip (.zip) ($29.00) http //www.winzip.com/ ★ よくある質問(FAQ) ★ Q. 複数のファイル(フォルダ)を一括でそれぞれ個別に圧縮したい。 A. 「個別圧縮」と呼ばれる操作。操作が簡単な物に“単ZIP”がある。 単ZIP (要 7-ZIP32.dll) http //kurohane.net/ 複数のフォルダを個別圧縮させる際、選択したフォルダ自体は圧縮せずに その中身のファイルのみを圧縮することも可能。
https://w.atwiki.jp/monstertv/pages/38.html
このページはhttp //park.geocities.jp/ts_encode09/1_01.htmlからの引用です Home BonDriverを用いたHDUS使用のメモ書き (1)用意するもの (2)リアルタイム視聴について (3)EPGで録画 (4)EPG番組表から録画~EPGデータビューア (1)用意するもの 2008/08/05現在 ・BonDriver_HDUS(人柱版6) ・EpgDataCap_Bon (人柱版8.21) ・EPGデータビューア Ver 1.19 ・BonTest 1.41m3 すべて拡張ツールの中の人サイトのロダにあがっています。 (http //2sen.dip.jp/friio/fromup.html) 作者さんに感謝。 (2008/08/03追記) Microsoft社のサイトから Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ http //www.microsoft.com/downloads/details.aspx?displaylang=ja FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647 Microsoft Visual C++ 2008 再頒布可能パッケージ http //www.microsoft.com/downloads/details.aspx?displaylang=ja FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf DirectX End-User Runtimes (June 2008) - 日本語 http //www.microsoft.com/downloads/details.aspx?FamilyID=822640ab-0983-4c41-9c70-632f6f42c557 DisplayLang=ja の3つをダウンロードして、あらかじめインストールしておくことをオススメします。 EpgDataCap_Bonを解凍したあと出てくるフォルダの中にBonDriverというフォルダがあるので そこにBonDriver_HDUS.dllをコピー。 (2)リアルタイム視聴について ~その1:BonTest単体で視聴~ BontestのフォルダにBonDriver_HDUS.dllをいれて、BonDriver.dllにリネームするだけ。 Bontestフォルダに元々存在するBonDriver.dllは削除でok。 その後BonTest.exeを起動すれば地デジ番組を視聴できます。 チャンネル番号を直接指定する必要があるのに注意。 ***注意*** この方法では、EpgDataCap_BonやSegTVなどHDUSを使用するソフトが実行中の場合 「チューナーの初期化に失敗しました」となって視聴することができません。 またこの方法で視聴中にEpgTimer_Bonで予約していた録画時間になると 録画予約が失敗してしまいます。 ~その2:EpgDataCap_BonからUDP送信・BonTestで視聴~ BontestのフォルダにあるBonDriver.dllを削除し、BonDriver_UDP.dllをBonDriver.dllにリネーム。 (2008/08/05追記) BonDriver.dllの削除やBonDriver_UDP.dllのリネームを行わなくても、 EpgDataCap_Bonの「設定」→「外部アプリケーション設定」で 「View起動時のコマンドラインオプション」に /d BonDriver_UDP.dll と入れればokです。 /nd と入れなくとも視聴できるようです。 EpgDataCap_Bonの「設定」→「ネットワーク設定」タブで 「TSデータをUDPで送信する」にチェックをいれ デフォルトの「127.0.0.1 ポート1234」そのままで「追加」ボタン。 「外部アプリケーション設定」タブで「Viewで使用するexe」にBonTestを指定し、 「View起動時のコマンドラインオプション」に /nd と入れて「OK」。 その後、EpgDataCap_Bonの「View」ボタンを押すと BonTestが起動して視聴できるかと思います。 チャンネルの切替はBonTestではなくEpgDataCap_Bonで。 この方法で視聴中に音ズレが発生した場合、 BonTest右下の「リセット」ボタンを押すことで音ズレは解消されます。 この方法なら、EpgDataCap_Bonで録画中に同番組を視聴することが可能です。 またBonTestで視聴中にEpgTimer_Bonで登録していた予約の時間になった時は 予約録画の方が優先され、BonTestで視聴中のチャンネルが予約した番組のものに 自動的に変更され、録画が始まります。 ***注意*** EpgDataCap_bonからUDP送信・BonTestで視聴するにあたっては、 まずEpgDataCap_bonの方でチャンネル取得を行う必要があります。 ただ「チャンネルスキャン」ボタンを押してスキャンが終了するまで待つだけです。 (3)EPGで録画 EpgDataCap_Bon.exeを起動。チューナーがHDUSになっていることを確認。 まずはチャンネル取得のためチャンネルスキャン。終了までじっと待つ。 その後、「設定」→「EPG取得設定」にてチャンネル一覧より EPGを取得するチャンネルを選択します。 通常は全チェックで問題ないかと。 次にEPG取得。EPGデータ取得ボタンを押して、再びじっと待つ。 以上2つの操作で、 C \Documents and Settings\ユーザ名\My Documents\EpgTimerBon\ というフォルダにチャンネル設定が、 その下の C \Documents and Settings\ユーザ名\My Documents\EpgTimerBon\EpgData というフォルダにEPGデータが格納されています。 ついで、設定を行います。 「設定」→「基本設定」タブで番組を録画する場所を指定します。 さらにEPGを用いた録画予約です。 TSEpgView_Bonを起動。 「設定」でEPGデータを置いたフォルダと予約方法を設定します。 さきほどのMy Documents\EpgTimerBon\EpgDataをEPG読み込みフォルダに設定し、 予約方法ではEpgTimer_Bonを指定して、EpgTimer_Bonの場所を設定して「OK」。 後は好きな番組を選んで「予約登録」ボタンを押すだけで EpgTimer_Bonに予約されます。 最後にEpgTimer_Bonの設定です。 まずは右上の「設定」→「チューナー設定」タブでチューナーの種類と数を設定します。 HDUS1台であれば、下のように「地デジ 1」と設定して「OK」 再度「設定」→「動作設定」タブでEpgDataCap_Bonの場所を指定します。 その下の設定はお好みで。 以上でEPGによる録画予約はすべて完了です。 EpgTimer_Bonは常時起動させておいてください。 時間になればEpgDataCap_Bonが起動して録画が始まるはずです。 (4)EPG番組表から録画~EPGデータビューア 見やすい番組表を用いるにはEPGデータビューアを使います。 まずはEPGデータビューアを起動し、「設定」→「iEPG設定」と開きます。 「iEPG機能を使用する」にチェックを入れた後、 EpgTimer_Bonをチェックし、EpgTimer_Bonの場所を指定して「OK」。 次に「設定」→「画面設定」と開きます。 「予約番組の表示」でEpgTimerにチェックが入っていることを確認した後、 その右隣の「参照」にてProgram.txt(EpgTimer_Bonの予約一覧)の位置を指定します。 ここがひっかかりやすいところで デフォルトでは C \Documents and Settings\ユーザ名\My Documents\EpgTimer\Program.txt が指定されています。 ここを C \Documents and Settings\ユーザ名\My Documents\EpgTimerBon\Program.txt に書き換えます。 デフォルトだとEpgTimerとなっている部分をEpgTimerBonにするわけです。 あとは「ファイル」→「ファイルの読み込み」で C \Documents and Settings\ユーザ名\My Documents\EpgTimerBon\EpgData 以下のEPGファイルをすべて開けば、番組表が表示されます。 予約したい番組の番組名をクリックして「EpgTimer登録」ボタンを押せば EpgTimer_Bonに予約されます。 あとはさきほどと同様にEpgTimer_Bonを起動させておくと 時間になるとEpgDataCap_Bonが起動して録画が始まります。 ついでに、EpgTimer_BonやEpgDataCap_Bonの「設定」→「外部アプリケーション設定」で 「EPG表示で使用するexe」をEPGデータビューアに指定し、 「起動時のオプション」を「EpgDataCapのデータファイルパス一覧」に設定しておくと EpgTimer_BonやEpgDataCap_Bonで「EPG表示」ボタンを押した際に EPGデータビューアが立ち上がった上で、現在のEPG番組表を表示してくれます。 以上、大ざっぱな説明ですがHDUS利用のきっかけになれば幸いです。 Home