Suche API Calls "Zuletzt verwendete Elemente" aus dem Windows Explorer & Outlook

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smileys
:) ;) :smile: :lol: :hihi: :D :rofl: :muahah: :( :pff: :kopfstreichel: :ohno: :betruebt: :heulen: :kopfkratz: :duckundweg: :o :? :oops: :psst: :sauer: :-P :daumenrunter: :daumen: :dankeschoen: :thx: :dafür: :gähn:
Mehr Smileys anzeigen

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Suche API Calls "Zuletzt verwendete Elemente" aus dem Windows Explorer & Outlook

Re: Suche API Calls "Zuletzt verwendete Elemente" aus dem Windows Explorer & Outlook

von Jim » 19.05.2023, 00:17

hi,

ich habe ChatGPT gefragt
zeige mir den api befehl wie man einen link unter "Schnellzugriff" anlegt in harbour programm sprache
und diese Antwort erhalten ( CODE für harbour)
Um einen Link unter "Schnellzugriff" in Windows programmatisch hinzuzufügen, müssen Sie systemeigene Windows-APIs oder Frameworks verwenden. In der Harbour-Programmiersprache können Sie das Windows Shell COM-Objekt verwenden, um den Link hinzuzufügen. Hier ist ein Beispielcode, der einen Link zum "Schnellzugriff" in Windows hinzufügt:

Code: Alles auswählen

#include "hbapi.h"
#include "hbapierr.h"
#include "hbapirdd.h"
#include "hbapiitm.h"
#include <windows.h>
#include <objbase.h>
#include <comdef.h>
#include <shobjidl.h>
#include <shlguid.h>

HB_FUNC(ADD_LINK_TO_QUICK_ACCESS)
{
    LPCSTR path = hb_parc(1);
    LPCSTR linkName = hb_parc(2);
    HRESULT result;

    CoInitialize(NULL);
    IShellItem* item;
    IShellItem* folder;
    result = SHCreateItemFromParsingName(path, NULL, IID_PPV_ARGS(&item));
    if (SUCCEEDED(result))
    {
        result = SHGetKnownFolderItem(FOLDERID_Links, KF_FLAG_CREATE, NULL, IID_PPV_ARGS(&folder));
        if (SUCCEEDED(result))
        {
            result = folder->BindToHandler(NULL, BHID_SFUIObject, IID_PPV_ARGS(&folder));
            if (SUCCEEDED(result))
            {
                IShellLink* link;
                result = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&link));
                if (SUCCEEDED(result))
                {
                    link->SetIDList(item);
                    link->SetDescription(linkName);
                    IPersistFile* file;
                    result = link->QueryInterface(IID_PPV_ARGS(&file));
                    if (SUCCEEDED(result))
                    {
                        WCHAR path[MAX_PATH];
                        SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, path);
                        wcscat_s(path, MAX_PATH, L"\\Microsoft\\Windows\\Links\\");
                        wcscat_s(path, MAX_PATH, linkName);
                        wcscat_s(path, MAX_PATH, L".lnk");
                        result = file->Save(path, TRUE);
                        file->Release();
                    }
                    link->Release();
                }
                folder->Release();
            }
            item->Release();
        }
    }
    CoUninitialize();

    if (SUCCEEDED(result))
    {
        hb_retnl(1);
    }
    else
   

Suche API Calls "Zuletzt verwendete Elemente" aus dem Windows Explorer & Outlook

von Grendelbox » 17.05.2023, 14:29

Hi ,

ich frage hiermit für meinen Kollegen mal auf gut Glück in die Runde. :)

Hat jemand Programmiertechnische Infos zu API-(whatever)-Calls für die

„Zuletzt verwendeteten Elemente“ wie aus dem Windows Explorer & Outlook ???
(Siehe Screenshots)
Mein Kollege würde diese geniale Funktion gerne auch in unseren Programmen als Aufruf nutzen.

Bild

Bild


Danke im voraus :dankeschoen:

Nach oben