Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2009, 13:52   #1
BattleMage
Пользователь
 
Регистрация: 19.09.2007
Сообщений: 11
Вопрос подключение coredll.dll

доброго времени суток. возник следующий вопрос. мне необходимо было использовать winapi функцию GetSystemTime. на MSDN нашёл следующую инфу по подключению:

Код:
[DllImport("coredll.dll")]
private extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);
начал писать программу и вылезла следующая проблема:
Код:
System.BadImageFormatException не обработано
  Message="Была сделана попытка загрузить программу, имеющую неверный формат. (Исключение из HRESULT: 0x8007000B)"
  Source="dyakov_2"
  StackTrace:
       в dyakov_2.Form1.GetSystemTime(SYSTEMTIME& lpSystemTime)
       в dyakov_2.Form1.textBox1_KeyDown(Object sender, KeyEventArgs e) в c:\Documents and Settings\BattleMage\Мои документы\Visual Studio 2008\Projects\dyakov_2\dyakov_2\Form1.cs:строка 38
       в System.Windows.Forms.Control.OnKeyDown(KeyEventArgs e)
       в System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
       в System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
       в System.Windows.Forms.Control.WmKeyChar(Message& m)
       в System.Windows.Forms.Control.WndProc(Message& m)
       в System.Windows.Forms.TextBoxBase.WndProc(Message& m)
       в System.Windows.Forms.TextBox.WndProc(Message& m)
       в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
       в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       в System.Windows.Forms.Application.Run(Form mainForm)
       в dyakov_2.Program.Main() в C:\Documents and Settings\BattleMage\Мои документы\Visual Studio 2008\Projects\dyakov_2\dyakov_2\Program.cs:строка 18
       в System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       в System.Threading.ThreadHelper.ThreadStart()
  InnerException:
раньше он писал, что не может найти библиотеку coredll.dll. я её скачал с интернета, ибо на своём компьютере не обнаружил. в каком каталоге она должна находиться?

код такой:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace dyakov_2
{
    public partial class Form1 : Form
    {
        [DllImport("coredll.dll")]
        private extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);

        private struct SYSTEMTIME
        {
            public ushort wYear;
            public ushort wMonth;
            public ushort wDayOfWeek;
            public ushort wDay;
            public ushort wHour;
            public ushort wMinute;
            public ushort wSecond;
            public ushort wMilliseconds;
        }

        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            SYSTEMTIME stime = new SYSTEMTIME();
            GetSystemTime(ref stime);
            MessageBox.Show("Current Time: " + stime.wHour.ToString() + ":" + stime.wMinute.ToString());
        }

        private void textBox1_KeyUp(object sender, KeyEventArgs e)
        {
            SYSTEMTIME stime = new SYSTEMTIME();
            GetSystemTime(ref stime);
            MessageBox.Show("Current Time: " + stime.wHour.ToString() + ":" + stime.wMinute.ToString());
        }
    }
}

или вообще в другом проблема? очень надо - помогите, пожалуйста
BattleMage вне форума Ответить с цитированием
Старый 21.09.2009, 14:19   #2
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

coredll это библиотека для кпк. Так сказать Kernel,shell,user и т.д в одном флаконе и она не будет работать на ПК, так что ищите другой способ!!!
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку kapustin Общие вопросы .NET 10 23.09.2009 22:20
Подключение DLL в Делфи Denis_Gul Помощь студентам 3 19.11.2008 11:12
подключение функции, зашитой в dll svanir Microsoft Office Access 0 28.08.2008 11:23
Dll динамическое подключение MAcK Общие вопросы Delphi 1 11.08.2008 16:45
Подключение DLL 5naip Помощь студентам 9 27.10.2007 20:55