VC中使用CoCreateGuid创建GUID
GUID的数据类型都是char的,添加了wchar的转换,方便使用
如果要在VC中随机生成字符串,本代码也很好用。
01 | char * NewGuid( char * guidBuf) |
02 | { |
03 | memset (guidBuf,0,64); |
04 | GUID guid; |
05 | CoInitialize(NULL); |
06 | if (S_OK == CoCreateGuid(&guid)) |
07 | { |
08 | _snprintf(guidBuf, 64, |
09 | "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}" , |
10 | guid.Data1, |
11 | guid.Data2, |
12 | guid.Data3, |
13 | guid.Data4[0], guid.Data4[1], |
14 | guid.Data4[2], guid.Data4[3], |
15 | guid.Data4[4], guid.Data4[5], |
16 | guid.Data4[6], guid.Data4[7]); |
17 | } |
18 | CoUninitialize(); |
19 | return guidBuf; |
20 | } |
21 | |
22 | WCHAR * NewGuid( WCHAR * guidBuf) |
23 | { |
24 | char guidBufA[64]; |
25 | wcsset(guidBuf,0); |
26 | NewGuid(guidBufA); |
27 | if (guidBufA) |
28 | { |
29 | MultiByteToWideChar(CP_ACP,NULL,guidBufA,64,guidBuf,64); |
30 | } |
31 | return guidBuf; |
32 | } |