Articles of windows

Pourquoi BOOL dans Windows est de type int?

Pourquoi ne pas définir BOOL comme une enum comme dans: enum BOOL {FALSE, TRUE}; Y a-t-il une raison pour laquelle BOOL doit être spécifié explicitement comme int (ou tout autre type d’intégrale)?

WinAPI convertit une clé virtuelle en personnage en C

J’ai un programme C et j’ai enregistré un rappel pour écouter les événements VM_KEYDOWN Les événements sont reçus correctement et pour chaque frappe, je reçois la clé de code de key virtuelle. Maintenant, j’essaie de convertir un tel code de clé virtuelle (qui n’est qu’un index du bouton du clavier) en un caractère réel. Je […]

port série baudrate

Pour sonder le port série de Windows, j’ai écrit ce programme. Je règle la vitesse de transmission du port série à 115200 bps. Lorsque je lance ce programme, le temps écoulé est de 1250 ms. Le débit en bauds n’atteint que 102400 bps. Je vérifie également à la réception le débit en bauds avec un […]

Restreindre l’utilisateur pour arrêter un service Windows

Je suis impliqué dans l’écriture d’un service Windows. Avant de commencer à l’écrire, j’aimerais savoir Quels sont les points à prendre en compte en termes d’UTILISATEURS DE CONNEXION, en particulier comment empêcher les autres utilisateurs de “suspendre un service”? Quels sont les points génériques à prendre en compte lors de la rédaction d’un service? Comment […]

Code C équivalent pour les fonctions de type _mm_

Quel est le code C simple et équivalent pour surmonter les __ fonctions telles que _mm_store_ps , _mm_add_ps , etc. Veuillez spécifier la fonction de n’importe qui par le biais d’un exemple avec le code C équivalent. Pourquoi ces fonctions sont-elles utilisées?

Vérifiez si la touche ALT est enfoncée

Après avoir beaucoup testé, je ne peux pas enregistrer si la touche Alt est utilisée à l’aide de GetAsyncKeyState dans un programme C. Quand j’essaye ceci: if (GetAsyncKeyState(VK_SHIFT)) // do something Cela fonctionne correctement, mais quand j’essaye cela if (GetAsyncKeyState(VK_MENU)) // do something Ça ne marche pas Donc ma question est “Comment puis-je enregistrer ALT?”. […]

Pourquoi mon élément de structure porte-t-il des octets de remplissage?

J’ai un comportement déroutant avec l’alignement de la mémoire des éléments de structure. Considérez ces deux structures: typedef struct s_inner { unsigned long ul1; double dbl1; fourth_struct s4; unsigned long ul2; int i1; } t_inner; typedef struct s_outer { other_struct member1; /* 4-byte aligned, 40 bytes in terms of sizeof() */ unsigned long member2; t_inner […]

Comment éviter plusieurs instances d’utilisateurs différents tout en autorisant plusieurs instances sur une session utilisateur unique

J’ai une application Windows. Je souhaite autoriser plusieurs instances pour une session utilisateur unique, mais je ne veux pas de plusieurs instances d’utilisateurs différents. En termes simples, si A se connecte à Windows, il pourra alors exécuter une application autant de fois qu’il le voudra, mais plus tard, B se connectera également. Il devra attendre […]

Configurer un tableau protégé par des bornes

J’aimerais atsortingbuer un tableau et le configurer de sorte que les pages qui le précèdent et celles qui le suivent soient protégées par l’unité de gestion de la mémoire. Une tentative d’exécution sur les limites du tableau sera automatiquement interceptée. et puis attrapez-le afin de gérer l’erreur de manière contrôlée. Je doute qu’il y ait […]

SetFilePointer sans FILE_FLAG_NO_BUFFERING

Considérez ce programme: #include #include int main(int argc, char** argv) { if (argc != 2) return 1; HANDLE j = CreateFile(“\\\\.\\F:”, FILE_GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, NULL); int k = SetFilePointer(j, atoi(argv[1]), NULL, FILE_BEGIN); printf(“%d\n”, k); } J’obtiens ces résultats: > a 512 512 > a 513 -1 > a 1024 1024 Je ne peux […]