none
Procuro o arquivo coredll.dll RRS feed

  • Pergunta

  • Bom dia André,

     

    Estou tentando mudar a data do coletor MC1000 da Motorola, windows CE 4.2 e outro 5.0 mas não estou conseguindo.

    Estou utilizando o Visual Studio 2005 - VB.net  e pelos código que vi eu não tenho a DLL coredll.dll.

    Obrigado

    Ernany

    quinta-feira, 26 de agosto de 2010 12:03

Todas as Respostas

  • Ernany,

    Qual código você está tentando executar e qual a mensagem de erro que está recebendo?


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    quinta-feira, 26 de agosto de 2010 20:13
    Moderador
  • Boa tarde Andre, segue abaixo o código:

     

    Imports System.Runtime.InteropServices

     

    Public Class FrmTeste

     

    Private Structure SYSTEMTIME

            Public year As Short

            Public month As Short

            Public dayOfWeek As Short

            Public day As Short

            Public hour As Short

            Public minute As Short

            Public second As Short

            Public milliseconds As Short

        End Structure

     

      <DllImport("coredll.dll")> _

        Private Shared Function SetLocalTime(ByVal time As SYSTEMTIME) As Integer

        End Function

     

     

    Private Sub FrmTeste_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

     

            Dim ano As Integer= 1901

            Dim mes As Integer= 10

            Dim diaSemana As Integer= 2

            Dim dia As Integer= 9

            Dim hora As Integer= 9

            Dim minuto As Integer= 1

            Dim segundo As Integer= 2

            Dim milisegundo As Integer= 3

     

            Dim st As SYSTEMTIME

     

            TxtData.Text = DateTime.Now

     

            st.year = ano 'Year

            st.month = mes 'Month 

            st.dayOfWeek = diaSemana 'DayOfWeek 

            st.day = dia ' .Day 

            st.hour = hora '.Hour 

            st.minute = minuto '.Minute 

            st.second = segundo '.Second 

            st.milliseconds = milisegundo '.Millisecond 

     

            SetLocalTime(st) 'trava AQUI, quando chama a função.

     

            TxtData.Text = DateTime.Now

     

            GC.Collect()

     

        End Sub

     

     

    ************************

    Segue erro abaixo

     

    Error

    ExceptionCode: 0x80000002

    ExceeptioAddress: 0x03f96434

     

    **************************


     

     


    rrrr

    quinta-feira, 26 de agosto de 2010 20:55
  • Boa noite Pessoal / André,

     

    Eu encontrei um arquivo "coredll.dll" na internet mais não funcionou. Eu preciso é mudar a 

    data do Coletor MC1000. Existe outra maneira? Quem puder me ajudar eu agradeço.

     

    Obrigado,

     

    Ernany


    sábado, 28 de agosto de 2010 00:46
  • Ernany,

    Mas o próprio coletor com WCE 5 já era para ter a dll... Você tem mais informações sobre o erro (mensagem, e não código do erro)?


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    sábado, 28 de agosto de 2010 02:16
    Moderador
  • Boa noite André,

    Já olhei em cada diretório do coletor e não tem essa dll. Será que não é outra ou tem outra forma?

    Tentei uma que encontrei,mscoree.dll, mas não funcionou.

    "Can't find an Entry Point 'SetLocalTime' in a PInvoke DLL 'mscoree.dll'."

     

    Alguma idéia?

     

    Obrigado,

     

    Ernany

    sábado, 28 de agosto de 2010 06:12
  • Estranho hein...

    No emulador de smart device funciona normalmente (inclusive já escrevi um exemplo sobre esse mesmo assunto aqui: http://andrealveslima.spaces.live.com/blog/cns!3E33BD927B1E5D27!3311.entry)

    Tenta utilizar a kernel32.dll pra ver se funciona...


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    sábado, 28 de agosto de 2010 13:32
    Moderador
  •  Boa noite André,


    Foi através desse exemplo seu que cheguei até você. Não existe o arquivo "kernel32.dll"

    no coletor. Tem como você me enviar os arquivos: "kernel32.dll" e oredll.dll" para eu 

    testar. Com certeza são outras DLL's que são usados nesse coletor. Sistema Windows CE 4.2.

     

    Obrigado,

     

    Ernany

    ernany03 arroba hotmail.com

    sábado, 28 de agosto de 2010 23:27
  • Boa noite André,

    Você tem alguma luz para mim?Ou alguém da Lista??

    Obrigado,

     

    Ernany



    quarta-feira, 1 de setembro de 2010 03:02
  • Ernany,

    Tente dar uma olhada nas subpastas de:

    C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    quarta-feira, 1 de setembro de 2010 17:29
    Moderador
  • Saudações amigo

    Eu utilizei o seguinte código e funciona:

    Veja se te ajuda.

    A parte em que chamo kernel é só teste.

     public struct SystemTime
      {
        public ushort Year;
        public ushort Month;
        public ushort DayOfWeek;
        public ushort Day;
        public ushort Hour;
        public ushort Minute;
        public ushort Second;
        public ushort Millisecond;
      };
    
      public class DateTimeUtils
      {
        [DllImport("kernel32.dll", EntryPoint = "GetSystemTime", SetLastError = true)]
        public extern static void Win32GetSystemTime(ref SystemTime st);
    
        [DllImport("coredll.dll", EntryPoint = "GetSystemTime", SetLastError = true)]
        public extern static void WinCEGetSystemTime(ref SystemTime st);
    
        [DllImport("kernel32.dll", EntryPoint = "SetSystemTime", SetLastError = true)]
        public extern static bool Win32SetSystemTime(ref SystemTime st);
    
        [DllImport("coredll.dll", EntryPoint = "SetSystemTime", SetLastError = true)]
        public extern static bool WinCESetSystemTime(ref SystemTime st);
    
        public static void SetDateTime(DateTime data)
        {
          SystemTime st = new SystemTime();
    
          DateTime value = data.ToUniversalTime();
          st.Year = (ushort)value.Year;
          st.Month = (ushort)value.Month;
          st.Day = (ushort)value.Day;
          st.DayOfWeek = (ushort)value.DayOfWeek;
          st.Hour = (ushort)value.Hour;//((value.Hour + 1) % 24);
          st.Minute = (ushort)value.Minute;
          st.Second = 00;
          st.Millisecond = (ushort)value.Millisecond;
          
          bool result = WinCESetSystemTime(ref st);
          if (true != result)
          {
            int error = Marshal.GetLastWin32Error();
            throw new Exception("Ocorreu um erro : " + error);
          }
        }


    Desenvolva!!!
    sexta-feira, 3 de setembro de 2010 11:53
  • Rodrigo,

    O código dele já estava certo... O problema é que ele não está conseguindo achar a coredll.dll nem a kernel.dll no dispositivo dele... Aí está lançando uma exception, obviamente...


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    sexta-feira, 3 de setembro de 2010 12:32
    Moderador
  • Reset.
    Desenvolva!!!
    sexta-feira, 3 de setembro de 2010 12:35