SetWindowText
ожидает const char *
(то есть C-строку), и вы передаете ей число (pid
), очевидно, что вы получаете ошибку.
Стандартный способ C ++ для преобразования - использовать поток строк (из заголовка <sstream>
:
std::ostringstream os;
os<<pid;
SetDlgItemText(MyWindow, MyStatic, os.str().c_str());
(здесь я использовал SetDlgItemText
вместо GetDlgItem
+ SetWindowText
для сохранения набора текста, но это то же самое)
В качестве альтернативы вы можете использовать snprintf
.
char buffer[40];
snprintf(buffer, sizeof(buffer), "%u", pid);
SetDlgItemText(MyWindow, MyStatic, buffer);