Articles of Winapi

Meilleur moyen de savoir si une DLL est présente dans le système

J’utilise actuellement les fonctions LoadLibrary et FreeLibrary pour vérifier si une DLL (mfplat.dll) est présente dans le système sur lequel mon application s’exécute. Mon exigence est seulement de vérifier si la DLL est présente dans le système et je n’ai pas besoin d’appeler l’une des fonctions de la DLL. Existe-t-il un moyen plus rapide de […]

La plus grande taille du curseur Windows

J’ai un curseur de la taille de la taille 128×128, mais quand j’ai utilisé LoadCursor pour le charger et le montrer, il ne dispose que de 32×32. Quelle API peut le faire correctement? Il semble que MS le redimensionne. Merci.

Comment atsortingbuer le processus en cours à un object de travail nouvellement créé?

Je ne peux pas sembler utiliser la fonction AssignProcessToJobObject pour affecter le processus en cours à un descripteur d’ object de travail fourni par CreateJobObject . Cela a déjà été demandé à plusieurs resockets sur StackOverflow, mais jusqu’à présent, aucune des solutions (qui se résument généralement à l’incorporation d’un manifeste UAC) ne semble fonctionner pour […]

l’access au stream ntfs pour un nom de fichier très long échoue

Avoir un peu de mal à accéder à un autre stream ntfs à partir d’un fichier avec un nom très long (plus que les caractères MAX_PATH créés avec le préfixe “\\? \”). Pour la première fois, j’ai pensé que c’était une erreur de code, mais j’ai essayé une commande cmd: plus long “long”, long, long, […]

Équivalent de code C de C # pour installer le certificate

J’ai trouvé le code ci-dessous pour installer un certificate dans un éditeur approuvé de machines locales. Mais le code est en C # Je veux faire la même chose en C. Comment le convertir en C? private static void InstallCertificate(ssortingng cerFileName) { X509Certificate2 certificatee = new X509Certificate2(cerFileName); X509Store store = new X509Store(StoreName.TrustedPublisher,StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); store.Add(certificatee); store.Close(); […]

Quelle est la différence entre l’API _spawnl et Createprocess (…) dans la programmation Windows?

Quelle est la différence entre _spawnl (…) et Createprocess (…) API dans la programmation Windows? En quoi ces API diffèrent-elles en créant un comportement de processus.

Installer la police et rendre Windows conscient

J’ai une fonction ci-dessous qui installe une police ( .ttf ) dans Windows en la copiant dans le dossier de fonts Windows, puis en déclenchant le message WM_FONTCHANGE . Cependant, cette police ne devient pas immédiatement visible dans Windows Explorer. Après avoir exécuté ceci, lorsque j’ouvre les fonts via le panneau de configuration, ma police […]

Créez un programme Windows avec une interface graphique, mais utilisez “main ()” (en D)?

Est-il possible, dans Windows, de créer un programme graphique, qui a son point d’entrée dans «main ()»? Comment puis-je faire cela? Mon utilisation est que je veux une application multi-plateforme, avec un point d’entrée uniforme.

Quelles sont les limites de la gestion de la mémoire personnalisée dans win32?

L’espace mémoire adressable dans un programme 32 bits est donc de 4 gigaoctets. Respectivement, dans une application 64 bits, il y a ~ 18 exaoctets d’espace adressable. L’API kernel32.dll possède une variété de méthodes concernant le tas et / ou la mémoire du programme. Donc, ma compréhension actuelle est que, par exemple, si vous appelez […]

Comment puis-je éviter d’utiliser une variable globale lorsque j’effectue `EnumWindows` pour trouver une fenêtre dans l’API Win32 C?

Comment éviter d’utiliser des variables globales lors de l’utilisation de l’API Win32 EnumWindows (ou FindChildWindows )? J’ai à peu près le code suivant: HWND prog_hwnd; BOOL CALLBACK ProgEnumProc(HWND hwnd, LPARAM lParam) { if (…) { // found the right hwnd, assign it to prog_hwnd; prog_hwnd = hwnd; return FALSE; } return TRUE; } void FindProgHwnd() […]