Спасибо за ответы.
Это работало на меня:
WCHAR fileName[_MAX_PATH];
DWORD size = GetModuleFileName(g_dllHandle, fileName, _MAX_PATH);
fileName[size] = NULL;
DWORD handle = 0;
size = GetFileVersionInfoSize(fileName, &handle);
BYTE* versionInfo = new BYTE[size];
if (!GetFileVersionInfo(fileName, handle, size, versionInfo))
{
delete[] versionInfo;
return;
}
// we have version information
UINT len = 0;
VS_FIXEDFILEINFO* vsfi = NULL;
VerQueryValue(versionInfo, L"\\", (void**)&vsfi, &len);
aVersion[0] = HIWORD(vsfi->dwFileVersionMS);
aVersion[1] = LOWORD(vsfi->dwFileVersionMS);
aVersion[2] = HIWORD(vsfi->dwFileVersionLS);
aVersion[3] = LOWORD(vsfi->dwFileVersionLS);
delete[] versionInfo;
См. Эти веб-сайты:
Очень хорошие веб-страницы с примерами исходного кода:
Я думаю, важно помнить, что SWT возник, когда Swing был еще совсем незрелым, и я полагаю, что люди из Eclipse сочли необходимым заново изобрести колесо (подозреваю, оглядываясь назад, это что-то они сожалеют, каким бы тонким ни был слой SWT).
В настоящее время Swing повзрослел, многие проблемы и проблемы с производительностью, которые он использовал, были исправлены с помощью сторонних расширений, таких как JGoodies и ] JIDE Я не могу придумать веской причины, по которой вы могли бы использовать что-либо, кроме Swing, для разработки толстых клиентов.
Здесь есть подробное руководство , которое перенесет вас из «Hello World» вверх.
Swing и SWT - это два совершенно разных API, хотя принципы одинаковы. Улучшить свои навыки легко. Однако перенос программы потребует много работы.
Я думаю, что у вас возникнет головная боль, если приложение будет запускаться на разных ОС, пока не знаю, но раньше не было поддержки Mac OS, так что забудьте об этом, если ваш приложение должно запускаться на Mac OS.
У нас также был этот вопрос в компании, и мы решили использовать Swing, потому что для обычного настольного приложения вы просто не можете почувствовать разницу в скорости, которая предположительно на стороне SWT, и эта скорость вы Покупая по принципу разрушения WORA, вы должны принести с вашим приложением необходимые файлы .dll или .so, чтобы изначально поддерживать ваше приложение, работающее в желаемых ОС.
Долгое время Swing-часть Java (с печатью) была слабым местом Java. Я думаю, они извлекут из Java гораздо больше, если им удастся сделать Swing в то время простым, интуитивно понятным и отзывчивым. В настоящее время они сделали несколько позитивных шагов в этом направлении,