Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SendMessage в Visual C++.Net, как сделать? 
V
    Опции темы
Aline
Дата 20.2.2008, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Привет всем!

Необходимо использовать SendMessage в Visual C++.Net, но просто так я не могу её вызвать постоянно сыпятся какие то ошибки.

Одна из последних:

 error LNK2028: unresolved token (0A000047) "extern "C" long __stdcall SendMessageW(struct HWND__ *,unsigned int,unsigned int,long)" (?SendMessageW@@$$J216YGJPAUHWND__@@IIJ@Z) referenced in function "extern "C" long __clrcall SendMessage(struct HWND__ *,unsigned int,unsigned int,long)" (?SendMessage@@$$J0YMJPAUHWND__@@IIJ@Z)

Как  использовать SendMessage ?


P.S.: Windows Application

Это сообщение отредактировал(а) Aline - 20.2.2008, 09:56
PM MAIL   Вверх
CYBERDREAM
Дата 20.2.2008, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Можно код взглянуть?

Это сообщение отредактировал(а) CYBERDREAM - 20.2.2008, 10:04


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Aline
Дата 20.2.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Я попробовала подключить библиотек через DllImport:

Код

namespace TestIRK {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
    using namespace System::IO;        
    using namespace System::Globalization;
    using namespace System::Runtime::InteropServices;

    


    /// <summary>
    /// Summary for Form1
    ///
    /// WARNING: If you change the name of this class, you will need to change the
    ///          'Resource File Name' property for the managed resource compiler tool
    ///          associated with all .resx files this class depends on.  Otherwise,
    ///          the designers will not be able to interact properly with localized
    ///          resources associated with this form.
    /// </summary>

    
    public ref class Form1 : public System::Windows::Forms::Form
    {

    public:

        Form1(void)
        {
            InitializeComponent();

            hEvent = OpenEvent(SYNCHRONIZE, false, (LPCWSTR)"IRK_Event");

            hForm = (HWND)Form1::Handle.ToInt32();            
            //
            //TODO: Add the constructor code here
            //
        }
        
    public:         static HWND hForm;

    public:         [DllImport("User32.Dll")]
         static extern void SendMessage(struct HWND__ *,unsigned int,unsigned int,long);

---------------------------------------------------------------------------------------------------------------------------------------

                 private: static void ThreadProc(HANDLE hEvent)
                  {            
            
           if (WaitForSingleObject(hEvent, 500) != WAIT_TIMEOUT) {
               ::SendMessage(Form1::hForm,WM_USER,0,0);               
          }         
                  }
   };



теперь появилась другая ошибка:

 error C2159: more than one storage class specified

на строке         static extern void SendMessage(struct HWND__ *,unsigned int,unsigned int,long);
PM MAIL   Вверх
CYBERDREAM
Дата 20.2.2008, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



http://msdn2.microsoft.com/en-us/library/93x0s9t7.aspx
Замени строки 
Код

    public:         [DllImport("User32.Dll")]
         static extern void SendMessage(struct HWND__ *,unsigned int,unsigned int,long);
на:
Код

    [DllImport("User32.Dll")]
            static void SendMessage(struct HWND__ *,unsigned int,unsigned int,long);


Это сообщение отредактировал(а) CYBERDREAM - 20.2.2008, 10:34


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Aline
Дата 20.2.2008, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



CYBERDREAM, огромнейшее спасибо, заработало smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.