साथ एक स्ट्रिंग तालिका अद्यतन करने मैं प्रश्न यहाँ पूछा - updating STRING TABLE via UpdateResource (adding multiple strings)UpdateResource
और अब मैं फिर से पूछ रहा हूँ इस बार मैं सवाल का बहुत अधिक विस्तार में जोड़ सकते हैं के रूप में,।
मैं पिछले दिन या किसी वास्तविक लाभ के लिए यह कोशिश कर रहा हूं। मुझे परिणाम क्या होना चाहिए (मैंने मैन्युअल रूप से एमएसवीएस में स्ट्रिंग्स को जोड़ा है): जैसा कि आप देख सकते हैं, एकाधिक प्रविष्टियां, और यह "साफ" है और प्रोग्राम द्वारा आसानी से पहुंचा जा सकता है!
अभी, मेरे स्रोत:
wstring buffer[5] = {L" Meow",L" I",L" Am",L" A",L" Dinosaur"}; // ignore the string
if (HANDLE hRes = BeginUpdateResource("Output.exe",TRUE))
{
for (int i = 0; i < 5; i++)
{
wchar_t * temp;
temp = new wchar_t[(buffer[i].length()+1)];
wcscpy(temp,buffer[i].c_str());
wcout << temp << endl;
UpdateResource(hRes,RT_STRING,MAKEINTRESOURCE(1),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
temp, 48); //buffer[i].length()+1
delete[] temp;
}
EndUpdateResource(hRes,FALSE);
}
का उत्पादन:
कौन गलत है, क्योंकि यह केवल मेज पर अंतिम स्ट्रिंग को शामिल किया है लगता है, नहीं यह पहले तार !
जब मैं स्रोत को संशोधित करने की कोशिश तो MAKEINTRESOURCE (1) अब "MAKEINTRESOURCE (i)", परिणाम यह है के रूप में विभिन्न चित्रों में दिखाया गया: वास्तव में
सफलता यह सभी तारों को जोड़ता है, लेकिन ऐसा लगता है कि विभिन्न स्ट्रिंग टेबल बनाए गए हैं जो वांछित नहीं थे। हालांकि मुझे लगता है कि आईडी में प्रत्येक तस्वीर में 16 की वृद्धि हुई है जो संभवतः कुछ समझा सकता है। असल में, मैं चाहता हूं कि तारों को पहली तस्वीर (एकाधिक तारों के साथ) के रूप में स्वरूपित किया जाए, लेकिन इसका कोई वास्तविक विचार नहीं है कि यह कैसे करें।
आपकी सहायता के लिए धन्यवाद।
मैं स्ट्रिंग टेबल कैसे बना सकता हूं? क्या भरने के लिए कोई संरचना है? मैंने स्ट्रिंगटेबल और स्ट्रिंगफाइलइन्फो को देखा और कोशिश की लेकिन इसका कोई फायदा नहीं हुआ। – James