Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Referenzauswertung (https://www.delphipraxis.net/199137-referenzauswertung.html)

EWeiss 28. Dez 2018 03:07

Referenzauswertung
 
Ich bekomme eine Meldung Referenzauswertung wurde vom Server zurückgesendet.
Kann mir bitte jemand sagen wie ich prüfen kann von welcher Datei diese Referenz ist die zurückgesendet wurde?

Aber nur wenn ich meinen Player ohne Adminrechte starte.
Das kann ich aber nicht denn dann funktioniert meine TaskBarJumpList nicht mehr.

Gibt es ein Tool mit dem ich meine DLL's signieren kann?

gruss

jaenicke 28. Dez 2018 04:09

AW: Referenzauswertung
 
Zitat:

Zitat von EWeiss (Beitrag 1422196)
Gibt es ein Tool mit dem ich meine DLL's signieren kann?

Die Anleitung findest du in aller Regel bei dem Anbieter, bei dem du ein entsprechendes Zertifikat zur Softwaresignierung erwirbst.

Dies wird dir in diesem Fall allerdings kaum helfen, denn die Fehlermeldung bedeutet soweit ich weiß, dass eine signierte Datei nicht online überprüft werden konnte.

Das wiederum liegt meistens an einer Firewall oder an einigen Tuning-Tools bzw Speedup-Tools, die dafür benötigte Elemente von Windows aus Geschwindigkeitsgründen deaktivieren.
Diese basieren meistens auf dem Grundsatz:
95% der Benutzer brauchen es nicht und die restlichen 5% werden hoffentlich nicht merken, dass es an unserem Tool liegt, dass da etwas nicht geht. Denn in der Regel handelt es sich eben um Dinge, die man nicht ständig benötigt, so dass der Zusammenhang nicht auffällt.

Speziell bei einem Tool konnten wir feststellen, dass nach dessen "Optimierung" reproduzierbar bestimmte Netzwerkoperationen fehlschlugen. Als Antwort vom Support kam dann nur, dass diese Funktion bei normaler Nutzung durch Privatnutzer nicht benötigt wird und auf Business-Systemen von der Installation abgeraten wird.

EWeiss 28. Dez 2018 04:22

AW: Referenzauswertung
 
Zitat:

Die Anleitung findest du in aller Regel bei dem Anbieter, bei dem du ein entsprechendes Zertifikat zur Softwaresignierung erwirbst.
Danke für die Antwort.

Welchen Anbieter ? Das bin ich selbst bzw. die Anwendung ist privat.

Die läuft wenn ich sie als Admin starte aber dann funktioniert aus unerklärlichen gründen die TaskbarAPI (ITaskBarList3) nicht mehr.
Unter WIn7 gab es da nie Probleme.

Ich habe eine Test Tool mit meiner Typelib geschrieben da kann ich das ganz genau nachvollziehen.
Starte ich die als Admin geht die Taskbarlist nicht ohne gibt es keine Probleme.

Mein Player verwendet Referenzen die extra eingebunden werden und eine davon wird zurückgewiesen ich kann nur nicht erkennen welche das wird ja nicht angezeigt.
Wie bekommt man das raus?

Es ist mir auch unerklärlich warum ich eine Anwendung aus den Dokumenten Ordner heraus als Admin starten muss.
Die Button unten haben keine Auswirkung mehr. Wie gesagt ging unter Win7 alles.. grrrrrr
2. Pic ist mein Textprogramm das geht nur wenn es ohne Adminrechte gestartet wird.
Mit dann haben alle Button keinerlei Auswirkung. So geht es mir hier am laufenden Band unter W10. Da habe ich keinerlei Erklärung für so ein Verhalten.

Eine frage hätte ich noch.
Warum wird mir ein Admin Zeichen(Icon) bei der Anwendung angezeigt auch wenn ich kein Administrationsrechte zugewiesen habe?
Erkennt das Windows automatisch ob das von Nöten ist?

gruss

jaenicke 28. Dez 2018 05:26

AW: Referenzauswertung
 
Zitat:

Zitat von EWeiss (Beitrag 1422198)
Welchen Anbieter ? Das bin ich selbst bzw. die Anwendung ist privat.

Es geht um ein Zertifikat für die Signierung. Du kannst für dich lokal natürlich auch eins selbst erstellen, aber das wäre dann bei allen anderen Benutzern ungültig.
Wenn du deine Anwendung für alle gültig signieren möchtest, benötigst du ein Zertifikat, das von einer anerkannten Zertifizierungsstelle ausgegeben wurde. Das gibt es aber normalerweise nicht kostenlos.

Zitat:

Zitat von EWeiss (Beitrag 1422198)
Es ist mir auch unerklärlich warum ich einen Anwendung aus den Dokumenten Ordner heraus als Admin starten muss.

Wenn ich das mit veröffentlichtem Quelltext von dir nachvollziehen kann, kann ich es mir gerne mal anschauen. Mir ist solch ein Fall noch nicht untergekommen.

Zitat:

Zitat von EWeiss (Beitrag 1422198)
Warum wird mir ein Admin Zeichen(Icon) bei der Anwendung angezeigt auch wenn ich kein Administrationsrechte zugewiesen habe?
Erkennt das Windows automatisch ob das von Nöten ist?

Es gibt eine gewisse Automatik (enthalten Dateiname oder Versionsinfo Stichwörter wie Update, Setup, Patch, ...), die aber nur greifen sollte, wenn es keine Regelung per Manifest gibt.

hoika 28. Dez 2018 05:57

AW: Referenzauswertung
 
Hallo,
die automatische Admin-Erkennung benutzt übrigens nicht nur den Dateinamen, sondern auch Ressourcen-Einträge zur Prüfung,
ob die Exe Admin-Rechte braucht (ob sie will oder nicht).
Gesetzt den Fall, es gibt kein Manifest, wie weiter oben schon geschrieben wurde.

EWeiss 28. Dez 2018 06:05

AW: Referenzauswertung
 
Zitat:

Wenn ich das mit veröffentlichtem Quelltext von dir nachvollziehen kann, kann ich es mir gerne mal anschauen.
Danke für das Angebot aber ich kann mir nicht vorstellen das du dich mit VB6 rumschlagen willst ;)

Wenn du es dir jedoch antun möchtest bitte ist im Anhang.
Starte das mit und ohne Adminrechten dann siehst du was ich meine.
Die TypeLib habe ich mit C++ erstellt aus einer *.odl Datei weil ich mit VB6 sonst nicht auf das ShellLink Interface zugreifen kann.
Zitat:

Mktyplib /nocpp TaskbarAPI.odl
Zitat:

Zitat von hoika (Beitrag 1422202)
Hallo,
die automatische Admin-Erkennung benutzt übrigens nicht nur den Dateinamen, sondern auch Ressourcen-Einträge zur Prüfung,
ob die Exe Admin-Rechte braucht (ob sie will oder nicht).
Gesetzt den Fall, es gibt kein Manifest, wie weiter oben schon geschrieben wurde.

Wie wenn nichts drin steht?
Auch im Manifest nicht! Das Bild vom Manifest habe ich mir jetzt erspart hochzuladen.
Kann es aber gerne nachreichen wenn nötig.

siehe..

gruss

jaenicke 28. Dez 2018 06:51

AW: Referenzauswertung
 
Zitat:

Zitat von EWeiss (Beitrag 1422198)
Die läuft wenn ich sie als Admin starte aber dann funktioniert aus unerklärlichen gründen die TaskbarAPI (ITaskBarList3) nicht mehr.

Das funktioniert auf allen mir zur Verfügung stehenden Windows 10 Rechnern sowohl mit als auch ohne Adminrechte ohne Probleme. Ich kann die Liste ohne Adminrechte anlegen, mit Adminrechte wieder löschen und neu anlegen, auch umgekehrt, geht alles, auch die Umschaltung des Namens der Liste.

Nur der Button erkennt beim Start nicht, dass die Liste schon da ist, erst wenn ich den Namen umschalte. Das hat aber mit den Adminrechten nichts zu tun, das ist immer so.

Womit wir wieder bei dem Thema wären was auf deinem Rechner anders ist...

EWeiss 28. Dez 2018 07:01

AW: Referenzauswertung
 
Zitat:

Womit wir wieder bei dem Thema wären was auf deinem Rechner anders ist...
VB6 mehr als 20 Jahre alt?
Es ist nicht Delphi damit kannst du es nicht vergleichen. ;)

Teste die EXE im hochgeladenen Archiv dann wirst du es sehen. :)
Zitat:

Das hat aber mit den Adminrechten nichts zu tun, das ist immer so.
Doch hat es!

Ich habe mir nochmal die EXE angeschaut und doch festgestellt das die Adminrechte dort vergeben wurden.
Der Fehler lag hier (habe es nicht gesehen was aber seltsamer weise unter Win7 keinen Einfluss hatte)
Thema erledigt.. Danke funktioniert jetzt wieder wie es soll.
Nach den Referenzen wird auch nicht mehr gefragt bzw.. es kommt kein Fehler mehr.

PS:
Zitat:

Ich kann die Liste ohne Adminrechte anlegen
Welche Liste? Es ging nicht um die Jumpliste sondern um die Button habe es doch im Bild extra gezeigt ;)
Play,Pause,Stop,Config usw...
Die Jumpliste ging auch vorher auch mit Adminrechten im Manifest.

gruss

Sherlock 28. Dez 2018 07:12

AW: Referenzauswertung
 
Bei meinem Win10 1809 Build 17763.195 geht es auch ohne Admin-Rechte. Es stürzt lediglich ab, wenn ich zweimal Thumbnail Buttons hinzufügen möchte...das dürfte aber eine andere Ursache haben.

Sherlock

EWeiss 28. Dez 2018 07:16

AW: Referenzauswertung
 
Zitat:

Zitat von Sherlock (Beitrag 1422206)
Bei meinem Win10 1809 Build 17763.195 geht es auch ohne Admin-Rechte. hinzufügen möchte...das dürfte aber eine andere Ursache haben.

Sherlock

Mein Sample?
Dürfte aber nicht mit Adminrechten gehen. (Starte es als Admin) ;)
Zumindest ist es bei mir so.
Wenn du auf den Mute Button Klickst dürfte dieser nicht angezeigt werden. (Mit Adminrechten versteht sich)

Zitat:

Es stürzt lediglich ab, wenn ich zweimal Thumbnail Buttons
Ist möglich war nur ein Sample zum testen meiner TypeLib.

gruss

jaenicke 28. Dez 2018 07:28

AW: Referenzauswertung
 
Ok, das hatte ich falsch verstanden. :oops: Dabei ist das Verhalten bei mir genau wie von dir beschrieben, ja.

EWeiss 28. Dez 2018 07:29

AW: Referenzauswertung
 
Zitat:

Zitat von jaenicke (Beitrag 1422208)
Ok, das hatte ich falsch verstanden. :oops: Dabei ist das Verhalten bei mir genau wie von dir beschrieben, ja.

Ist aber seltsam oder ?
Den ganzen Ärger hatte ich unter Win7 wie gesagt nicht.
Da ist einiges sehr im argen..

Danke für das Testen.
Hier mal der Source der TypeLib damit ihr mal seht was unter VB6 für ein Aufwand betrieben werden musste um die TaskBarJumpList zu implementieren.

Code:
[
  uuid(a8ce1d71-bfd6-4b55-990a-be75aeb926b8),
  helpstring("Taskbar API for VisualBasic (Windows7)"),
  version(1.0)
]

library TaskbarAPI
{
  typedef struct UUID
  {
    long Data1;
    short Data2;
    short Data3;
    unsigned char Data4[8];
  } UUID;
  typedef UUID *REFGUID;
  typedef [public] UUID IID;
  typedef UUID *REFIID;
  typedef [public] UUID CLSID;
  typedef UUID *REFCLSID;
  typedef [public] UUID GUID;

  typedef struct RECT
  {
    long Left;
    long Top;
    long Right;
    long Bottom;
  } RECT;

  typedef struct FILETIME
  {
    long LowDateTime;
    long HighDateTime;
  } FILETIME;

  typedef struct WIN32_FIND_DATAW
  {
    long FileAttributes;
    FILETIME CreationTime;
    FILETIME LastAccessTime;
    FILETIME LastWriteTime;
    long FileSizeHigh;
    long FileSizeLow;
    long Reserved0;
    long Reserved1;
    unsigned char FileName[520];
    unsigned char AlternateFileName[28];
  } WIN32_FIND_DATAW;

  typedef struct PROPERTYKEY
  {
    UUID fmtid;
    long pid;
  } PROPERTYKEY;

  typedef struct PROPVARIANT
  {
    short vt;
    short wReserved1;
    short wReserved2;
    short wReserved3;
    long val;
  } PROPVARIANT;

  typedef enum SLGPConstants
  {
    SLGP_SHORTPATH = 0x1,
    SLGP_UNCPRIORITY = 0x2,
    SLGP_RAWPATH = 0x4,
    SLGP_RELATIVEPRIORITY = 0x8
  } SLGPConstants;

  typedef enum SIGDNConstants
  {
    SIGDN_NORMALDISPLAY                = 0x00000000,
    SIGDN_PARENTRELATIVEPARSING        = 0x80018001,
    SIGDN_DESKTOPABSOLUTEPARSING       = 0x80028000,
    SIGDN_PARENTRELATIVEEDITING        = 0x80031001,
    SIGDN_DESKTOPABSOLUTEEDITING       = 0x8004c000,
    SIGDN_FILESYSPATH                  = 0x80058000,
    SIGDN_URL                          = 0x80068000,
    SIGDN_PARENTRELATIVEFORADDRESSBAR  = 0x8007c001,
    SIGDN_PARENTRELATIVE               = 0x80080001 
  } SIGDNConstants;

  typedef enum SFGAOConstants
  {
    SFGAO_CANCOPY = 0x00000001,
    SFGAO_CANMOVE = 0x00000002,
    SFGAO_CANLINK = 0x00000004,
    SFGAO_STORAGE = 0x00000008,
    SFGAO_CANRENAME = 0x00000010,
    SFGAO_CANDELETE = 0x00000020,
    SFGAO_HASPROPSHEET = 0x00000040,
    SFGAO_DROPTARGET = 0x00000100,
    SFGAO_CAPABILITYMASK = 0x00000177,
    SFGAO_SYSTEM = 0x00001000,
   SFGAO_ENCRYPTED = 0x00002000,
    SFGAO_ISSLOW = 0x00004000,
    SFGAO_LINK = 0x00010000,
    SFGAO_SHARE = 0x00020000,
    SFGAO_READONLY = 0x00040000,
    SFGAO_GHOSTED = 0x00008000,
    SFGAO_HIDDEN = 0x00080000,
    SFGAO_DISPLAYATTRMASK = 0x000FC000,
    SFGAO_NONENUMERATED = 0x00100000,
    SFGAO_NEWCONTENT = 0x00200000,
    //SFGAO_CANMONIKER = ,
    //SFGAO_HASSTORAGE = ,
    SFGAO_STREAM = 0x00400000,
    SFGAO_VALIDATE = 0x01000000,
    SFGAO_REMOVABLE = 0x02000000,
    SFGAO_COMPRESSED = 0x04000000,
    SFGAO_BROWSABLE = 0x08000000,
    SFGAO_FILESYSANCESTOR = 0x10000000,
    SFGAO_STORAGEANCESTOR = 0x00800000,
    SFGAO_FOLDER = 0x20000000,
    SFGAO_FILESYSTEM = 0x40000000,
    SFGAO_HASSUBFOLDER = 0x80000000,
    SFGAO_CONTENTSMASK = 0x80000000,
    SFGAO_STORAGECAPMASK = 0x70C50008,
    SFGAO_PKEYSFGAOMASK = 0x81044000
  } SFGAOConstants;

  typedef enum SICHINTConstants
  {
    SICHINT_DISPLAY = 0x00000000,
    SICHINT_ALLFIELDS = 0x80000000,
    SICHINT_CANONICAL = 0x10000000
  } SICHINTConstants;
 
  typedef enum SIATTRIBFLAGSConstants
  {
    SIATTRIBFLAGS_AND = 0x00000001,
    SIATTRIBFLAGS_OR = 0x00000002,
    SIATTRIBFLAGS_APPCOMPAT = 0x00000003,
    SIATTRIBFLAGS_MASK = 0x00000003
  } SIATTRIBFLAGSConstants;

  typedef enum SLRConstants
  {
    SLR_NO_UI = 0x0001,
    SLR_UPDATE = 0x0004,
    SLR_NOUPDATE = 0x0008,
    SLR_NOSEARCH = 0x0010,
    SLR_NOTRACK = 0x0020,
    SLR_NOLINKINFO = 0x0040,
    SLR_INVOKE_MSI = 0x0080,
    SLR_NO_UI_WITH_MSG_PUMP = 0x0101,
  } SLRConstants;

  typedef enum KNOWNDESTCATEGORYConstants
  {
    KDC_FREQUENT = 0x1,
    KDC_RECENT = 0x2
  } KNOWNDESTCATEGORYConstants;

  typedef enum TBPFLAG
  {
    TBPF_NOPROGRESS    = 0x00000000,
    TBPF_INDETERMINATE = 0x00000001,
    TBPF_NORMAL        = 0x00000002,
    TBPF_ERROR         = 0x00000004,
    TBPF_PAUSED        = 0x00000008,
  } TBPFLAG;


  [
    uuid(00000000-0000-0000-C000-000000000046),
    version(1.0),
    helpstring("IUnknown-Interface for Visual Basic"),
    odl
  ]
  interface IVBUnknown
  {
    long __stdcall QueryInterface([in] UUID* IID, [in,out] void* pObject);
    long __stdcall AddRef();
    long __stdcall Release();
  };

  [
    uuid(000214F9-0000-0000-C000-000000000046),
    version(1.0),
    helpstring("IShellLinkW-Interface for Visual Basic"),
    odl
  ]
  interface IVBShellLinkW : IVBUnknown
  {
    long __stdcall GetPath([in,out] LPWSTR Path, [in] int Pathsize, [in,out] WIN32_FIND_DATAW *FileData, [in] SLGPConstants Flags);
    long __stdcall GetIDList([in,out] long *pIDL);
    long __stdcall SetIDList([in] long pIDL);
    long __stdcall GetDescription([in,out] LPWSTR Descr, [in] int Buffersize);
    long __stdcall SetDescription([in] LPWSTR Descr);
    long __stdcall GetWorkingDirectory([in,out] LPWSTR WorkingDir, [in] int Buffersize);
    long __stdcall SetWorkingDirectory([in] LPWSTR WorkingDir);
    long __stdcall GetArguments([in,out] LPWSTR Args, [in] int Buffersize);
    long __stdcall SetArguments([in] LPWSTR Args);
    long __stdcall GetHotkey([in,out] short *Hotkey);
    long __stdcall SetHotkey([in] short Hotkey);
    long __stdcall GetShowCmd([in,out] int *ShowCmd);
    long __stdcall SetShowCmd([in] int ShowCmd);
    long __stdcall GetIconLocation([in,out] LPWSTR IconPath, [in] int IconPathSize, [in,out] int *iIcon);
    long __stdcall SetIconLocation([in] LPWSTR IconPath, [in] int iIcon);
    long __stdcall SetRelativePath([in] LPWSTR RelPath, [in] long reserviert);
    long __stdcall Resolve([in] long hWnd, [in] SLRConstants Flags);
    long __stdcall SetPath([in] LPWSTR Path);
  };

  [
    uuid(43826D1E-E718-42EE-BC55-A1E261C37BFE),
    version(1.0),
    helpstring("IShellItem-Interface for Visual Basic"),
    odl
  ]
  interface IVBShellItem : IVBUnknown
  {
    long _stdcall BindToHandler([in] long pIBindCtx, [in] UUID* rbhid, [in] UUID* riid, [in, out] void* ppvOut);
    long _stdcall GetParent([in, out] IVBShellItem** ppsi);
    long _stdcall GetDisplayName([in] SIGDNConstants sigdnName, [in, out] LPWSTR* ppszName);
    long _stdcall GetAttributes([in] SFGAOConstants sfgaoMask, [in, out] SFGAOConstants* psfgaoAttribs);
    long _stdcall Compare([in] IVBShellItem* psi, [in] SICHINTConstants hint, [in, out] int* piOrder);
  };

  [
    uuid(70629033-E363-4A28-A567-0DB78006E6D7),
    version(1.0),
    helpstring("IEnumShellItems-Interface for Visual Basic"),
    odl
  ]
  interface IVBEnumShellItems : IVBUnknown
  {
    long _stdcall Next([in] long Count, [in, out] IVBShellItem** Return, [in, out] long* Copied);
    long _stdcall Skip([in] long Count);
    long _stdcall Reset();
    long _stdcall Clone([in, out] IVBEnumShellItems** pReturn);
  };
 
  [
    uuid(787F8E92-9837-4011-9F83-7DE593BDC002),
    version(1.0),
    helpstring("IShellItemArray-Interface for Visual Basic"),
    odl
  ]
  interface IVBShellItemArray : IVBUnknown
  {
    HRESULT _stdcall BindToHandler([in] long pbc, [in] UUID* rbhid, [in] UUID* riid, [in, out] IVBUnknown** ppvOut);
    HRESULT _stdcall GetAttributes([in] SIATTRIBFLAGSConstants dwAttribFlags, [in] SFGAOConstants sfgaoMask, [in, out] SFGAOConstants* psfgaoAttribs);
    HRESULT _stdcall GetCount([in, out] long* pdwNumItems);
    HRESULT _stdcall GetItemAt([in] long dwIndex, [in, out] IVBShellItem** ppsi);
    HRESULT _stdcall EnumItems([in, out] IVBEnumShellItems** ppenumShellItems);
  };
 
  [
    uuid(886D8EEB-8CF2-4446-8D02-CDBA1DBDCF99),
    version(1.0),
    helpstring("IPropertyStore for Visual Basic"),
    odl
  ]
  interface IVBPropertyStore : IVBUnknown
  {
    long __stdcall GetCount([in] long* cProps);
    long __stdcall GetAt([in] long iProp, [in] PROPERTYKEY* pKey);
    long __stdcall GetValue([in] PROPERTYKEY* key, [in,out] PROPVARIANT* pv);
    long __stdcall SetValue([in] PROPERTYKEY* key, [in] PROPVARIANT* propvar);
    long __stdcall Commit();
  };

  [
    uuid(92CA9DCD-5622-4bba-A805-5E9F541BD8C9),
    version(1.0),
    helpstring("IObjectArray-Interface for Visual Basic"),
    odl
  ]
  interface IVBObjectArray : IVBUnknown
  {
    long __stdcall GetCount([out] long* pcObjects);
    long __stdcall GetAt([in] long uiIndex, [in] UUID* riid, [in,out] void* ppv);
  };

  [
    uuid(5632b1a4-e38a-400a-928a-d4cd63230295),
    version(1.0),
    helpstring("IObjectCollection-Interface for Visual Basic"),
    odl
  ]
  interface IVBObjectCollection : IVBObjectArray
  {
    long __stdcall AddObject([in] IVBUnknown* punk);
    long __stdcall AddFromArray([in] IVBObjectArray* poaSource);
    long __stdcall RemoveObjectAt([in] long uiIndex);
    long __stdcall Clear();
  };

  [
    uuid(6332debf-87b5-4670-90c0-5e57b408a49e),
    version(1.0),
    helpstring("ICustomDestinationList-Interface for Visual Basic"),
    odl
  ]
  interface IVBCustomDestinationList : IVBUnknown
  {
    long __stdcall SetAppID([in] long pszAppID);
    long __stdcall BeginList([out] long* pcMinSlots, [in] UUID* riid, [in,out] void* ppv);
    long __stdcall AppendCategory([in] long pszCategory, [in] IVBObjectArray* poa);
    long __stdcall AppendKnownCategory([in] KNOWNDESTCATEGORYConstants category);
    long __stdcall AddUserTasks([in] IVBObjectArray* poa);
    long __stdcall CommitList();
    long __stdcall GetRemovedDestinations([in] UUID* riid, [in,out] void* ppv);
    long __stdcall DeleteList([in] long pszAppID);
    long __stdcall AbortList();
  };

  [
    uuid(ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf),
    helpstring("ITaskbarList-Interface for Visual Basic"),
    odl
  ]
  interface IVBTaskbarList : IVBUnknown
  {
    long __stdcall HrInit();
    long __stdcall AddTab([in] LONG hwnd);
    long __stdcall DeleteTab([in] LONG hwnd);
    long __stdcall ActivateTab([in] LONG hwnd);
    long __stdcall SetActiveAlt([in] LONG hwnd);
    long __stdcall MarkFullscreenWindow([in] LONG hwnd,[in] LONG fFullscreen);
    long __stdcall SetProgressValue([in] LONG hwnd,[in] LONG ullCompleted_Low,[in] LONG ullCompleted_High,[in] LONG ullTotal_Low,[in] LONG ullTotal_High);
    long __stdcall SetProgressState([in] LONG hwnd,[in] TBPFLAG tbpFlags);
    long __stdcall RegisterTab([in] LONG hwndTab,[in] LONG hwndMDI);
    long __stdcall UnregisterTab([in] LONG hwndTab);
    long __stdcall SetTabOrder([in] LONG hwndTab,[in] LONG hwndInsertBefore);
    long __stdcall SetTabActive([in] LONG hwndTab,[in] LONG hwndMDI,[in] LONG dwReserved);
    long __stdcall ThumbBarAddButtons([in] LONG hwnd,[in] LONG cButtons,[in] LONG pButton);
    long __stdcall ThumbBarUpdateButtons([in] LONG hwnd,[in] LONG cButtons,[in] LONG pButton);
    long __stdcall ThumbBarSetImageList([in] LONG hwnd,[in] LONG himl);
    long __stdcall SetOverlayIcon([in] LONG hwnd,[in] LONG hIcon,[in] LONG pszDescription);
    long __stdcall SetThumbnailTooltip([in] LONG hwnd, [in] LONG pszTip);
    long __stdcall SetThumbnailClip([in] LONG hwnd, [in] RECT *prcClip);
  };
}
Batch Datei anlegen das reinschreiben und als Admin starten zum kompilieren.
Den Source natürlich als *.odl abspeichern :)

Code:
Mktyplib /nocpp TaskbarAPI.odl
PS:
Hmmm.. geht doch noch nicht.
Die Taskbar ja kann aber meine eigenen Plugins nicht mehr ausführen ohne Adminrechte und dann geht die Taskbar-Jumplist wieder nicht.
Langsam nervt es.
Jetzt muss ich mir einen Pfad aussuchen zur Installation der keine Adminrechte benötigt.
Was nehmen ProgramData, User\AppData\Local? (Entschuldigt: Aber was für ein Müll)

Habe es geändert meine Plugins die ich normalerweise über DllRegisterServer dynamisch einbinde registriere ich jetzt bei der Installation und gut ist.
Leider finde ich keine Möglichkeit diese Funktion mit Übergabe von Adminrechten zu starten.
Damit funktioniert es dann.

gruss

EWeiss 28. Dez 2018 15:04

AW: Referenzauswertung
 
Ach so ist mir auch gerade aufgefallen der StereoMixer wurde auch deaktiviert angeblich wegen Datenschutz damit niemand auf den Computer Laufende Musik aufnehmen kann die man eh schon hat. :wall:
Der funktioniert nur noch wenn der Dialog offen ist.

Da sage ich besser mal nichts mehr zu! Andernfalls wäre ein neuer Bann oder rausschmiss die folge.
Ich schlucke es einfach und denke mir meinen teil. :)

Nur eins noch die Bass.dll ist damit auch hinfällig.
Bass_RecordStart hat keine Auswirkung mehr bzw. lässt die Anwendung abstürzen wenn man es nicht abfängt in Verbindung mit dem StereoMixer wenn man das aufnehmen will was man hört!

gruss

jaenicke 28. Dez 2018 18:10

AW: Referenzauswertung
 
Da kann man sich bei unseren Datenschützern bedanken, die das Thema teilweise echt sehr stark überziehen.

Man kann aber in den Mikrofon - Datenschutzeinstellungen auch den Zugriff auf das Mikrofon erlauben, daher vermute ich, dass das alles keine harte Beschränkung ist.

EWeiss 28. Dez 2018 18:17

AW: Referenzauswertung
 
Zitat:

Zitat von jaenicke (Beitrag 1422232)
Da kann man sich bei unseren Datenschützern bedanken, die das Thema teilweise echt sehr stark überziehen.

Man kann aber in den Mikrofon - Datenschutzeinstellungen auch den Zugriff auf das Mikrofon erlauben, daher vermute ich, dass das alles keine harte Beschränkung ist.

Ich wundere mich nur warum so viele das System in den höchsten Tönen loben.
Arbeitet niemand damit? Ich meine außer Mails und Text zu schreiben?

Was ich jetzt alleine schon durch meine Anwendung herausgefunden habe entbehrt jeder Grundlage.
OK sei's drum.

PS:
OK.. Spiele laufen fein ist aber nicht maßgeblich.

gruss

HolgerX 28. Dez 2018 18:48

AW: Referenzauswertung
 
Hmm...

Schau mal hier:

https://www.deskmodder.de/phpBB3/viewtopic.php?t=20318
https://www.deskmodder.de/phpBB3/vie...?f=327&t=20317

Dort wird geschrieben, dass das Mikrofon unter Datenschutz 'eingeschaltet' werden muss und danach wieder SteriMix / Mikrofon wieder läuft..

EWeiss 28. Dez 2018 19:09

AW: Referenzauswertung
 
Zitat:

Zitat von HolgerX (Beitrag 1422235)
Hmm...

Schau mal hier:

https://www.deskmodder.de/phpBB3/viewtopic.php?t=20318
https://www.deskmodder.de/phpBB3/vie...?f=327&t=20317

Dort wird geschrieben, dass das Mikrofon unter Datenschutz 'eingeschaltet' werden muss und danach wieder SteriMix / Mikrofon wieder läuft..

Danke ja das habe ich durch es ist aber so das nach einem Neustart des System StereoMixer nur funktioniert wenn man das Sound Panel geöffnet hat.
Wenn ich es schließe werden keine Pegel mehr angezeigt.
Habe ich alles schon von verschiedenen Seiten durchgelesen aber so richtig funktioniert da nix.

Neueste Treiber StereoMixer ist aktiv.. und, und nutzt alles nix.
Trotzdem Danke.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz