get;\r
set;\r
}\r
- private static TimeCaps timecaps;\r
- private bool bChangedtimePeriod = false;\r
// public static CTimer ct;\r
\r
// コンストラクタ\r
}\r
//---------------------\r
#endregion\r
- #region [ アプリケーションの最小タイマ分解能を設定する ]\r
- //---------------------\r
- Trace.TraceInformation( "アプリケーションの最小タイマ分解能を設定します。" );\r
- Trace.Indent();\r
- try\r
- {\r
- timecaps = new TimeCaps();\r
- if ( timeGetDevCaps( out timecaps, (uint) Marshal.SizeOf( typeof( TimeCaps ) ) ) != 0 )\r
- {\r
- Trace.TraceInformation( "timeGetDevCaps()に失敗しました。タイマ分解能は変更せず続行します。" );\r
- }\r
- else\r
- {\r
- timeBeginPeriod( timecaps.wPeriodMin );\r
- Trace.TraceInformation( "最小タイマ分解能指定を完了しました。" );\r
- bChangedtimePeriod = true;\r
- }\r
- }\r
- finally\r
- {\r
- Trace.Unindent();\r
- }\r
- #endregion\r
// ct = new CTimer( CTimer.E種別.PerformanceCounter );\r
//-----------\r
#region [ Timer の初期化 ]\r
}\r
//---------------------\r
#endregion\r
- #region [ アプリケーションの最小タイマ分解能設定を解除する ]\r
- //---------------------\r
- if ( bChangedtimePeriod )\r
- {\r
- Trace.TraceInformation( "アプリケーションの最小タイマ分解能設定を解除します。" );\r
- Trace.Indent();\r
- try\r
- {\r
- timeEndPeriod( timecaps.wPeriodMin );\r
- Trace.TraceInformation( "最小タイマ分解能設定を解除しました。" );\r
- }\r
- finally\r
- {\r
- Trace.Unindent();\r
- }\r
- }\r
- //-----------\r
- #endregion\r
-\r
#region [ Config.iniの出力 ]\r
//---------------------\r
Trace.TraceInformation("Config.ini を出力します。");\r
\r
//-----------------\r
#endregion\r
-\r
- #region [ DllImport ]\r
- //-----------------\r
- [DllImport( "winmm.dll" )]\r
- private static extern void timeBeginPeriod( uint x );\r
- [DllImport( "winmm.dll" )]\r
- private static extern void timeEndPeriod( uint x );\r
- [DllImport( "winmm.dll" )]\r
- private static extern uint timeGetDevCaps( out TimeCaps timeCaps, uint size );\r
-\r
- [StructLayout( LayoutKind.Sequential )]\r
- private struct TimeCaps\r
- {\r
- public uint wPeriodMin;\r
- public uint wPeriodMax;\r
- }\r
- //-----------------\r
- #endregion\r
-\r
}\r
}\r