|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
До сих пор в своём "колхозе" с Win7 не бодался, а тут вдруг всплыл такой конфуз: прога для оперативной обработки файлов (архивация, разархивация) создаёт временную папку в папке "Мои документы" пользователя. На XP работает как швейцарские часы. На семёрке начались проблемы - пока понял лишь то, что Environment.SpecialFolder.MyDocuments возвращает пустую строку. Почему? Как побороть? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 06:08 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Может Код: c# 1.
Подойдет больше? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 11:46 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Sergey S, Нет, эта "помойка" совсем плохой вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 12:18 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Barkan, у тебя не служба случайно? Если обычное gui приложение, то не запускается ли оно через task scheduler? Согласен с Sergey S что папка Temp лучше здесь подходит. Именно для временных файлов она и предназначена. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 12:41 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
bazile, Это gui приложение, запускается пользователем вручную. Простенькая такая "лисапедная" система документооборота. Документы хранятся в БД (в зазипованном виде). При открытии документа из базы достаётся архив, раззипуется в Мои документы\Temp, открывается приложением по умолчанию. Почему мне не нравится System.IO.Path.GetTempPath()? Когда пользователь (тётя Фрося) откроет документ и нажмёт в Ворде "Сохранить как" то увидит всю эту "помойку" - и будет задавать "лишние" вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 12:55 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
BarkanКогда пользователь (тётя Фрося) откроет документ и нажмёт в Ворде "Сохранить как" то увидит всю эту "помойку" то есть в диалоге сохранения файлов трудно перед показом пользователя изменить директорию сохранения? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 12:57 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Arm79, ???????? В диалоге "Сохранить как" Ворда (Екселя и прочих разных программ) предварительно задать папку? Что-то я Вас не понял. И Вы меня походу тоже. Я на Win7 не могу программно сохранить файл в "Мои документы" из-за того, что Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) выдаёт мне пустую строку. Ситауция - наиглупейшая, но гугление пока не даёт мне ответа. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 13:14 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Что-то как-то странно, специально попробовал, возвращает все как надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 13:23 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
BarkanВ диалоге "Сохранить как" Ворда (Екселя и прочих разных программ) предварительно задать папку? причем здесь ворд и так далее? Barkanпрога для оперативной обработки файлов (архивация, разархивация) Вы, пожалуйста, объясните четче бизнес-процесс... PS Вы уверены точно, что Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) возвращает пустую строку? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 13:23 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Arm79, Сейчас у меня под рукой только XP. Вечером буду подробнее разбираться с доступными мне Win7, завтра отчитаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 13:30 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Barkan, ..по-моему, в Вин7 эта папка (в реестре, по крайней мере) называется Personal ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 13:47 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
carrotikBarkan, ..по-моему, в Вин7 эта папка (в реестре, по крайней мере) называется PersonalДык для этого он и использует Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) и эта хрень должна возвращать все правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 13:49 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
fortibransa, ...да, сейчас проверил на 2008 сервере - выдает все правильно по Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) ... может там что-то с правами программы ...у 7-ки могут быть непонятки ... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 14:05 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Значит проверил на двух доступных мне компах с Win7. Вот такой код: Код: vbnet 1. 2. 3.
Даёт на компе № 1 такой результат: System.IO.Path.GetTempPath=C:\Users\worker\AppData\Local\Temp\ Environment.SpecialFolder.Personal=C:\Users\worker\Documents Environment.SpecialFolder.MyDocuments=C:\Users\worker\Documents На компе № 2: System.IO.Path.GetTempPath=C:\Users\Работник\AppData\Local\Temp\ Environment.SpecialFolder.Personal= Environment.SpecialFolder.MyDocuments= На обоих компах в свойствах "Документы" (Пуск \ Документы) указано расположение на D:\Мои документы При открытии окна "Документы" (Пуск \ Документы) на компе № 1 вижу содержимое D:\Мои документы, на компе № 2 вижу содержимое C:\Users\Работник\Documents В итоге на обоих компах не получается программно сохранить файл именно в D:\Мои документы ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 06:00 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
BarkanНа обоих компах в свойствах "Документы" (Пуск \ Документы) это виртуальный фолдер (фактически список реальных) извлекается SHGetFolderLocation из shell32.dll Environment.GetFolderPath просто вызывает SHGetFolderPath из shell32.dll в случае любой ошибки кроме неподдержаного значения параметра возвращается пустая строка посмотри куда указывают "мои документы" из эксплорера или в реестре [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders] Personal P.S. реестр попорчен, админу - в бубен дать - пусть чинит ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 12:11 |
|
Environment.SpecialFolder.MyDocuments в Win7 возвращает пустую строку
|
|||
---|---|---|---|
#18+
Изопропилили в реестре [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders] Personal P.S. реестр попорчен, админу - в бубен дать - пусть чинит Спасибо за подсказку! Хотя изменение значения указанного Вами параметра не помогло, рядом нашёлся другой параметр, который помог исправить положение. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]Personal Осталось только выяснить, не выйдет ли нам это боком в другом месте. P.S. Жаль в бубен дать не кому! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 05:46 |
|
|
start [/forum/topic.php?fid=20&msg=38540465&tid=1403335]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 143ms |
0 / 0 |