Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Открытие папки, "AppData" не зная букву диска

Ответить
Настройки темы
Delphi - Открытие папки, "AppData" не зная букву диска

Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Как открыть папку, "AppData" в (Windows7) не-зная букву диска, и не зная имя пользователя.
Скажем так- определить системный диск и имя пользователя переменной, и направить на открытие папки: "AppData".
Стандартный пример скрипта.
Код: Выделить весь код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellApi;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Self.Handle,'explore','C:\Users\GhostRider\AppData',nil,nil,SW_SHOWNORMAL);
end;

end.
Поправте скрипт если можно.

Отправлено: 18:12, 16-05-2016

 

Аватара для NickM

Ветеран


Contributor


Сообщения: 4593
Благодарности: 1098

Профиль | Отправить PM | Цитировать


turbolover, может так? http://www.oszone.net/3673

Отправлено: 18:44, 16-05-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


NickM!
Пример батника интегрированного в Delphi.
Код: Выделить весь код
program Project1;

uses
  Windows, SysUtils;

var
  BatchFile: TextFile;
  BatchFileName: string;
{$R *.res}

begin
BatchFileName := ExtractFilePath(ParamStr(0)) + 'Test.bat';
AssignFile(BatchFile, BatchFileName);
Rewrite(BatchFile);
WriteLn(BatchFile,'Start Explorer "%Systemdrive%\Users\%Username%\AppData" & Del %0');
CloseFile(BatchFile);
WinExec('Test.bat',1)
end.

Последний раз редактировалось turbolover, 16-05-2016 в 23:11.


Отправлено: 19:11, 16-05-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата turbolover:
"%Systemdrive%\Users\%Username%\AppData" »
Вообще-то имелось в виду, например:
Код: Выделить весь код
%AppData%\..
Особенно надежды, что путь к профилю пользователя всегда содержит папку именно с именем этого пользователя .

А совсем правильно будет использовать Known Folders (Windows).

P.S. И да — никакие «батники» для открытия окна Проводника не нужны в принципе.

Отправлено: 06:13, 17-05-2016 | #4


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
uses ShlObj; 

// получить путь к специальным папкам 
function GetSpecialFolderPath(folder: integer): string;
const
  SHGFP_TYPE_CURRENT = 0;
var
  path: array [0 .. MAX_PATH] of char;
begin
  if SUCCEEDED(SHGetFolderPath(0, folder, 0, SHGFP_TYPE_CURRENT, @path[0])) then
    Result := path
  else
    Result := '';
end;

procedure TForm2.btn1Click(Sender: TObject);
begin
  lbl1.Caption := GetSpecialFolderPath(CSIDL_APPDATA);
end;

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 17-05-2016 в 23:53.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:45, 17-05-2016 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Открытие папки, "AppData" не зная букву диска

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] При открытие "vk.com", "выкидывает" на страницу для "разморозки страницы" sovenok Лечение систем от вредоносных программ 17 21-11-2013 04:09
Установка - Не могу удалить букву с диска "Зарезервировано системой" TrueAlex Microsoft Windows Vista 8 19-10-2012 21:01
Разное - Убрать букву диска "А" из резерва. mcfred Microsoft Windows 2000/XP 5 12-05-2011 16:56
Разное - В разделе диска с Вистой появились папки "$WINDOWS.~BT", "SWSetup" Kaban-keb Microsoft Windows Vista 3 26-02-2010 23:37
Когда нажимаю букву"M" или "L","U"...Проблема.. ekodrive Microsoft Windows 2000/XP 7 27-01-2006 15:13




 
Переход