Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Перевод кода с устаревшего Бэйсика на C#


Автор: максим1982 20.7.2015, 20:38
Здравствуйте форумчане.Я как радиолюбитель соединил GPS автонавигатор с радиостанцией.Получился дешёвый аналог Garmin Rino,но программа написанная мной на C# совершенно ни куда не годиться.
По этому обращаюсь за помощью - имееться пример позволяющий обмениваться данными Oziexplorerce используя api.Пример написан на устаревшем Бэйсике и я прошу знатоков C# переписать его скажем на
visual studio_2005(2010).Привожу ссылку http://www.oziexplorer3.com/ozice/ozice_api_docs.html.

Автор: максим1982 21.7.2015, 23:05
Здравствуйте ещё раз. Уточняю в чём мне понадобилась помощь. Необходимо проверить поддерживает ли более новая версия программы Oziexplorer CE функционирование по API  о протоколе которого сказано в документе по ссылке или уже давно всё поменялось. Для этого я пытаюсь составить короткую программу на C#. Я решил сделать несколько шагов. 1-найти дескриптор окна Oziexplorer (это получилось).2-послать окну Oziexplorer(а) команду СТОП вот её аналог в старом Бэйсике:  Result = SendMessage(OziWindow, WM_USER + 5, Me.hwnd, 132). Привожу листинг моего кода
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;



namespace Test_find_window_1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        [DllImport("Coredll.dll", SetLastError = true)]

        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);


        private void button1_Click(object sender, EventArgs e)
        {
            IntPtr ptr = FindWindow(null, "Oziexplorer");

            ЗДЕСЬ Я СОБРАЛСЯ ПРИМЕНИТЬ SENDMESSAGE но совершенно не догадываюсь как это сделать


        }
    }
}

Автор: Roha 23.7.2015, 08:52
Код

[DllImport("User32.dll")]
public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam);


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Perevod-koda-s-ustarevshego-Beysika-na-C-id55ad3237ae2015ad538b4567#findElement_E7045_55b0812bae20150971cac704_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)