Проверить существование файла с юникодным именем

Обсуждение программ nnCron и nnCron LITE

Проверить существование файла с юникодным именем

Postby Raistlin » Mon, 10 Dec 2018, 21:45

Как?
Windows XP SP3 Corp. + MUI, nnCron 1.93.1125.14, nnBackup 3.02b3 Build 147

Magically yours
Raistlin
User avatar
Raistlin
 
Posts: 166
Joined: Wed, 03 Nov 2004, 12:42

Re: Проверить существование файла с юникодным именем

Postby VoidVolker » Tue, 11 Dec 2018, 12:41

https://docs.microsoft.com/en-us/window ... ileexistsw

Code: Select all
WINAPI: PathFileExistsW Shlwapi.dll

Code: Select all
<юникод строка> PathFileExistsW \ az -- ?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2926
Joined: Tue, 25 Apr 2006, 17:56

Re: Проверить существование файла с юникодным именем

Postby Raistlin » Tue, 11 Dec 2018, 13:01

Что-то не едут лыжи. Помещаем юникодное имя в параметр Dir в ключе HKEY_CURRENT_USER\Software\ArcSoft\TotalMedia Theatre 6\Subst. Выполняем:
Code: Select all
SET TmtRegKey=HKEY_CURRENT_USER\Software\ArcSoft\TotalMedia Theatre 6\Subst
#( Test
  CREATE TmtDir 259 ALLOT
  WINAPI: PathFileExistsW Shlwapi.dll
  NoActive
  : Balloon { a u -- }
    S" Test" a u BALLOON
  ;
  Action:
    TmtDir GET-REG: "%TmtRegKey%\Dir"
    TmtDir PathFileExistsW NOT IF
      S" Directory not found: %TmtDir ASCIIZ>%" EVAL-SUBST
      2DUP Balloon CRON-LOG
    THEN
)#

Сообщает, что нет каталога.

А выводить в баллоне и экранных сообщениях юникодные имена можно?
Windows XP SP3 Corp. + MUI, nnCron 1.93.1125.14, nnBackup 3.02b3 Build 147

Magically yours
Raistlin
User avatar
Raistlin
 
Posts: 166
Joined: Wed, 03 Nov 2004, 12:42

Re: Проверить существование файла с юникодным именем

Postby VoidVolker » Tue, 11 Dec 2018, 18:24

GET-REG возвращает ASCII строку, а не юникод, т.к. использует для доступа API вызов RegQueryValueExA. Для получения юникод-строки из реестра необходимо вызвать функцию RegQueryValueExW, которая возвращает результат в виде юникод строки.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2926
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 1 guest

cron