Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
MiddleLibrary.cpp
[詳解]
1
5
6#include "pch.h"
7#include "MiddleLibrary.h"
8
9using namespace alt;
10
11BOOL APIENTRY DllMain (HMODULE hModule, DWORD dwReasonForCall, LPVOID lpvReserved)
12{
13 switch (dwReasonForCall)
14 {
15 case DLL_PROCESS_ATTACH:
16 OutputDebugString (_T ("WindowsLibrary.dll DLL_PROCESS_ATTACH.\n"));
17 break;
18 case DLL_THREAD_ATTACH:
19 OutputDebugString (_T ("WindowsLibrary.dll DLL_THREAD_ATTACH.\n"));
20 break;
21 case DLL_THREAD_DETACH:
22 OutputDebugString (_T ("WindowsLibrary.dll DLL_THREAD_DETACH.\n"));
23 break;
24 case DLL_PROCESS_DETACH:
25 OutputDebugString (_T ("WindowsLibrary.dll DLL_PROCESS_DETACH.\n"));
26 break;
27 }
28
29 return TRUE;
30}
31
33{
34 return ::GetLastError ();
35}
36
37VOID MiddleLibrary::debug (LPCTSTR lpctszMsg)
38{
39 SYSTEMTIME T;
40 GetLocalTime (&T);
41
42 TCHAR tszMsg[1024];
43 ZeroMemory (tszMsg, sizeof (tszMsg));
44
45 wsprintf (tszMsg, _T ("%04d/%02d/%02d %02d:%02d:%02d.%03d %s\n"),
46 T.wYear, T.wMonth, T.wDay,
47 T.wHour, T.wMinute, T.wSecond, T.wMilliseconds, lpctszMsg);
48
49 OutputDebugString (tszMsg);
50}
51
52TString MiddleLibrary::GetProfileStr (LPCTSTR lpctszSection, LPCTSTR lpctszKeyword)
53{
54 TCHAR tszResult[MAX_PATH];
55 TString response;
56
57 DWORD dwRet = ::GetPrivateProfileString (lpctszSection, lpctszKeyword,
58 nullptr, tszResult, MAX_PATH, _profile.Ctr ());
59
60 if (0 < dwRet)
61 {
62 response = tszResult;
63 }
64
65 return response;
66}
67
68UINT MiddleLibrary::GetProfileValue (LPCTSTR lpctszSection, LPCTSTR lpctszKeyword, UINT nDefault)
69{
70 return ::GetPrivateProfileInt (lpctszSection, lpctszKeyword, nDefault, _profile.Ctr ());
71}
72
73BOOL MiddleLibrary::SetProfile (LPCTSTR lpctszFileName)
74{
75 BOOL ret = TRUE;
76
77 BOOL isExist = FileUtility::IsExist (lpctszFileName);
78 if (!isExist) return FALSE;
79
80 _profile = lpctszFileName;
81
82 return ret;
83}
84
86{
87 TString dateTime (24);
88
89 wsprintf (dateTime.Ptr (), _T ("%04d/%02d/%02d %02d:%02d:%02d.%03d"),
90 systemTime.wYear, systemTime.wMonth, systemTime.wDay,
91 systemTime.wHour, systemTime.wMinute, systemTime.wSecond,
92 systemTime.wMilliseconds);
93
94 return dateTime;
95}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpvReserved)
MiddleLibraryプロジェクトのメインクラス
プリコンパイル済みヘッダー ファイルです。
static BOOL APIENTRY IsExist(LPCTSTR name)
ディレクトリ・ファイルの存在確認
BOOL SetProfile(LPCTSTR lpctszFileName)
virtual VOID debug(LPCTSTR lpctszMsg)
TString GetFormattedDateTime(SYSTEMTIME &systemTime)
UINT GetProfileValue(LPCTSTR lpctszSection, LPCTSTR lpctszKeyword, UINT nDefault=UINT_MAX)
TString GetProfileStr(LPCTSTR lpctszSection, LPCTSTR lpctszKeyword)
virtual DWORD GetErrNo()
文字列に関するWindowsAPIを集約したクラス
Definition: TString.h:17
LPCTSTR APIENTRY Ctr() const
内部で確保している文字列ポインタを取得します。
Definition: TString.h:46
LPTSTR APIENTRY Ptr() const
内部で確保している文字列ポインタを取得します。
Definition: TString.h:42
Definition: DBLibrary.h:12