Как управлять именем заставки (дружественным / отображаемым), отображаемым в раскрывающемся списке? - Windows Server 2003 / Windows 2000 - PullRequest
2 голосов
/ 25 февраля 2010

Итак, я задал вопрос с таким же названием ранее и получил ответ, который работает по большей части. Моя проблема сейчас заключается в том, что таблица строк в файле ресурсов Win32 не работает на Windows Server 2003 ( возможно другие тоже , ограниченное тестирование O / S на данный момент ).

Результаты тестирования:

Отображается правильно:

  • Windows XP
  • Windows Vista
  • Windows 7

Не отображается правильно:

  • Windows 2000 Professional
  • Windows Server 2003

Я знаю, что решение, предоставленное в ответе на мой первый вопрос, работает должным образом в Windows XP и Vista, но не работает в Windows Server 2003. Должен ли я сделать что-то другое, чтобы мое «дружественное» имя заставки отображалось в Windows Server 2003?

Файл моего ресурса содержит только два элемента:

  • Значок - ID: 1
  • Строка таблицы
    • Строка - ID: <пусто>, Значение: 1, Заголовок: CC.Votd

И поведение такое же, если я возвращаюсь к файлу ресурса, который содержит только таблицу строк.

Редактировать: Я попытался добавить еще одну строку:

  • Строка - ID: <пусто>, Значение: 100, Заголовок: CC.Votd

Как я уже видел, в других заставках, которые отображают правильное имя в Windows Server 2003, но ничего не изменилось. Это расстраивает, потому что я не вижу последовательности, когда использую проводник ресурсов для просмотра заставок, которые поставляются с Windows.

Некоторые задают строку со значением 1 и понятным именем. Другие также указывают строку со значением 100. Некоторые даже не включают таблицу строк, но по-прежнему показывают имя, отличное от имени исполняемого файла.


Обновление: Я создал очень простое решение, которое показывает, как я создаю и использую файл ресурсов. Если вы скопируете файл .scr в системный каталог в окне XP / Vista, вы увидите «Дружественное имя заставки» в выпадающем списке. В Windows Server 2003 вы увидите «So_screensaver_display_name» (имя исполняемого файла без расширения). Вы можете скачать это здесь: http://www.ccswe.com/temp/SO_ScreenSaver_Display_Name.zip

Редактировать: Было бы также полезно, если бы кто-то, работающий под управлением Windows Server 2003, скомпилировал и протестировал мой пример проекта выше, чтобы я мог определить, относится ли это к моей машине с Windows Server 2003 или нет.

Также интересуют результаты на любых других ОС , поскольку у меня есть только XP / Vista / 2003 для локального тестирования . Спасибо!

Обновление: Я смог протестировать на другом компьютере с Windows Server 2003 (R2), и результаты те же. Также неправильно отображается в Windows 2000 Professional. Работает на компьютере под управлением Windows 7.


Решение: Как упоминалось в принятом ответе, я переименовал свой файл с CC.Votd.scr на CCVotd.scr, и теперь Windows 2000/2003 правильно прочитала описание CC.Votd из моей таблицы строк и отобразила в раскрывающемся списке. Я до сих пор не понимаю, почему имя файла, не относящегося к DOS 8.3, не использовало мое описание, но по крайней мере исправлено.

1 Ответ

3 голосов
/ 02 марта 2010

Переименуйте файл scr в соответствии с соглашением об именах файлов DOS 8.3. Нигде не документировано, смутно описано в kb137250 .

...