2014-06-23 2 views
0

У меня есть файл гс conating таблицы строки, которая находится в библиотеке DLL сказать X.Доступ строки в файле гс

Я хотел бы использовать строки в этой таблице строк в C# проекте говорят, Y, присутствующие в том же решение. Если проект Y был C++, я знаю, что вы можете использовать функцию LoadString, но для C# я не уверен.

Можете ли вы указать необходимые шаги?

+2

Пробовали ли вы что-нибудь? – gustavodidomenico

+0

Да, я даже не могу получить доступ к классу в dll из моего проекта C#. Я думал о создании копии файла ресурсов в моем проекте C#, но это вызовет проблемы с обслуживанием. –

ответ

2

Вы все еще можете использовать LoadString благодаря P-Invoke

[DllImport("user32.dll", CharSet = CharSet.Auto)] 
static extern int LoadString(IntPtr hInstance, uint uID,StringBuilder lpBuffer, int nBufferMax); 

Здесь также ОПРЕДЕЛЕНИЯ из LoadLibrary и FreeLibrary

[DllImport("kernel32", SetLastError=true, CharSet = CharSet.Unicode)] 
static extern IntPtr LoadLibraryA(string lpFileName); 

[DllImport("kernel32.dll", SetLastError=true)] 
static extern bool FreeLibrary(IntPtr hModule); 
+0

И почему вы используете P/invoke, когда для этого существует метод .NET? – DonBoitnott

+0

Есть метод .NET? –

+0

@DonBoitnott Какой метод? Я только нашел, как загрузить его из * managed * .NET assemblylies. Не стандартные ресурсы – Adrian

Смежные вопросы