2013-02-09 3 views

ответ

4

По MSDN вы называете его, используя API:

[DllImport(DllImport.Mscms, CharSet = CharSet.Auto, BestFitMapping = false)] 
internal static extern bool GetColorDirectory(IntPtr pMachineName, StringBuilder pBuffer, ref uint pdwSize); 
+1

'исх UINT pdwSize' является более правильным. –

+0

Я хотел бы добавить, что важно инициализировать pdwSize чем-то отличным от 0. В соответствии с документацией pdwSize указывает размер принимающего буфера, в данном случае StringBuilder. Поэтому у меня есть: 'uint pdwSize = 260; // MAX_PATH StringBuilder sb = new StringBuilder ((int) pdwSize); 'перед вызовом' GetColorDirectory'. Впоследствии простая 'sb.ToString()' дает мне имя каталога (нет необходимости обрезать, используя результат в 'pdwSize'). – bovender

Смежные вопросы