2010-02-22 35 views
1

im un peu nouveau pour C++, donc je ne sais pas comment faire cela, mais mon principal point de recodage est de incress la vitesse de mon programme, j'ai été le codage d'un projet et mon code est:comment est-ce que je fais cela pour que tout puisse l'utiliser? C++

HWND hWnd = FindWindow(NULL, L"*window's name*"); 
DWORD th32ProcId; 
HANDLE hProc; 

GetWindowThreadProcessId(hWnd, &th32ProcId); 

hProc = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ, 0, th32ProcId); 

donc j'ai environ 20 fonctions qui tous utilisent cela au début de chaque fois que je les exécute et la valeur ne changera jamais alors est-il possible que je peux déclarer et ensuite le définir à la valeur de ce qu'il trouve?

mon code est configuré comme celui-ci

un fichier principal int main() et il vient de mettre sur une boucle et il garde retester et appelle les autres fonctions et tout le reste dans un nom vide () et j'ai 2 int nom()

im en utilisant VC++ 2008.

modifier pas: | Je veux juste un moyen que je peux partager ces valeurs avec tout le programme.

Répondre

2

Si je comprends bien votre question, vous souhaitez implémenter une sorte de mise en cache. Ce serait bien et vous pouvez créer un cahe avec un std::map.

Vous auriez probablement quelque chose comme:

std::map<std::string, HANDLE> cacheMap; 

Vous pouvez ensuite vérifier la cacheMap pour voir si un résultat existe. Si cela existe, vous n'avez pas besoin d'appeler la fonction, si elle n'existe pas, vous appelez la fonction et ajoutez le résultat à votre map.

+0

: | non pas vraiment ce que je voulais ty anyway – blood

+1

Je ne recommanderais pas de partager des poignées à travers différents programmes. –