2010-08-19 27 views
1

je le code suivant: http://privatepaste.com/8364a2a7b8/12345programme de réglage à autorun par registre

Mais il écrit que « c » (soi-disant, la conversion en LPBYTE laisse un octet seulement).

Quelle est la bonne façon de gérer GetModuleFileName et l'édition de registre?

+0

Ce n'est pas une question. Je pense que vous ne pouvez pas venir et dire "Hé, corrige mon code!". Quelle est la question ici? –

+0

ok, quelle est la bonne façon de gérer GetModuleFileName et modifier le registre? <- question. – Vladimir

+0

la façon correcte de les manipuler est de faire ce que l'on suppose être fait, et de toucher autre chose. – YeenFei

Répondre

1
strlen((char*)szPath2)+1 

Ceci est probablement le cas où votre problème est. Je parie que votre programme est compilé en mode UNICODE. strlen ne fonctionne correctement que pour les chaînes ASCII. (Le fait que vous ayez à passer de TCHAR à char est un indice important que quelque chose ne va pas.)

Pour rester cohérent avec l'utilisation de TCHAR et autres, vous devriez probablement utiliser _tcslen à la place.