Tôi hỏi những câu dưới đây - updating STRING TABLE via UpdateResource (adding multiple strings)cập nhật một bảng chuỗi với UpdateResource
Và bây giờ tôi đang hỏi một lần nữa, như thời gian này tôi có thể thêm chi tiết rất nhiều cho câu hỏi.
Tôi đã thử điều này trong một ngày qua hoặc một thứ gì đó không có kết quả thực sự. Điều tôi muốn kết quả là như thế này (tôi đã thêm chuỗi bằng MSVS theo cách thủ công): Như bạn có thể thấy, nhiều mục nhập, và nó "sạch" và có thể dễ dàng truy cập bằng chương trình!
Ngay bây giờ, nguồn của tôi:
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);
}
Tạo:
Đó là sai, vì nó dường như chỉ có thêm chuỗi cuối cùng để bàn, không phải là chuỗi trước khi nó !
Khi tôi cố gắng sửa đổi mã nguồn để MAKEINTRESOURCE (1) được bây giờ "MAKEINTRESOURCE (i)", kết quả là thế này như thể hiện trong hình ảnh khác nhau:
thành công trong thực tế nó đã thêm tất cả các chuỗi, nhưng nó dường như đã tạo ra các bảng chuỗi khác nhau mà không phải là những gì đã được mong muốn. Mặc dù tôi nhận thấy ID đã tăng lên 16 trong mỗi bức ảnh có thể giải thích được điều gì đó. Về cơ bản, tôi muốn các chuỗi được định dạng như trong hình ảnh đầu tiên (với nhiều chuỗi), nhưng không có ý tưởng thực sự làm thế nào để làm điều này.
Cảm ơn sự hỗ trợ của bạn.
Làm cách nào để tạo bảng chuỗi? Có cấu trúc để điền vào không? Tôi đã xem xét và cố gắng StringTable, và StringFileInfo nhưng vô ích. – James