Romeo » 13 дек 2004, 18:50
Shell везде одинаковый так же, как и API. Ну предположим в Delphi нет смартпоинтеров (в чём я сомневаюсь), тогда код будет выглядить следующим образом:
Код: Выделить всё
var
pDesktop : ^IShellFolder;
pMenu: ^IContextMenu;
...
SHGetDesktopFolder(pDesktop);
^pDesktop.CreateViewObject(NULL, IID_IContextMenu, @pMenu);
...
{некие манипуляции}
...
pMenu->Release;
pDesktop->Release;
P.S. Могу и ошибаться: ни разу не писал под COM на Delphi. Да и вообще советую открыть стандартный делфийский help и найти там описание COM-интнерфейса
IShellFolder.
Shell везде одинаковый так же, как и API. Ну предположим в Delphi нет смартпоинтеров (в чём я сомневаюсь), тогда код будет выглядить следующим образом:
[code]
var
pDesktop : ^IShellFolder;
pMenu: ^IContextMenu;
...
SHGetDesktopFolder(pDesktop);
^pDesktop.CreateViewObject(NULL, IID_IContextMenu, @pMenu);
...
{некие манипуляции}
...
pMenu->Release;
pDesktop->Release;
[/code]
P.S. Могу и ошибаться: ни разу не писал под COM на Delphi. Да и вообще советую открыть стандартный делфийский help и найти там описание COM-интнерфейса [i]IShellFolder[/i].