Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Меню "Программы" в своей проге


Автор: Mazikk 18.8.2005, 19:19
Привет всем! Пишу программу и мне надо чтобы:
1. По клику правой кнопой мыши выводилось меню
2. Но меню это должно содержать такое же как меню ПУСК-ПРОГРАММЫ!


Если кто-нибудь юзал ТАЛИСМАН, то там есть такая фича.

Так же можно сделать чтобы через это меню можно было лазить по ХДД т.е. что-то типа проводника.

Помогите,плз!!! Очень надо!!! Заранее спасибо!

Автор: Poseidon 18.8.2005, 21:47
Цитата(Mazikk @ 18.8.2005, 19:19)
2. Но меню это должно содержать такое же как меню ПУСК-ПРОГРАММЫ!
Все эта инфа содержится в реестре.

Цитата(Mazikk @ 18.8.2005, 19:19)
Так же можно сделать чтобы через это меню можно было лазить по ХДД т.е. что-то типа проводника.
Ну так сделай свой менеджер файлов в виде меню и все.

Автор: Mazikk 19.8.2005, 15:03
Цитата
Ну так сделай свой менеджер файлов в виде меню и все.


Вот я и спрашиваю: как это сделать, чтобы в виде меню?

А где в реестре?

Автор: Poseidon 19.8.2005, 19:08
Кстати, извеняюсь! Может в реестре тоже есть, но весь тот список вот тут:
C:\Documents and Settings\Имя_Учетной_записи\Главное меню\Программы\
C:\Documents and Settings\All Users\Главное меню\Программы\

Автор: Dimannn 20.8.2005, 18:06
Имя юзера: GetUserName.
Да но папка может быть Имя юзера.Имя компа
А как их различить...
И вообще вот код. запусти. Поможет.

Код

uses ShlObj, ActiveX, ComObj, ExtCtrls;

Var Worktable: String;    i: Integer;    P: PItemIDList;    c: array [0..1000] of Char;
begin
 for i:=0 to 127 do if SHGetSpecialFolderLocation(Handle, i,P) = NOERROR then
  begin
    SHGetPathFromIDList(P,c);   Worktable:=StrPas(c);  
 Memo1.Lines.Add(IntToStr(i)+'          '+Worktable);  end;


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)