我有一个程序需要将BM_CLICK消息发送到另一个应用程序按钮.我可以获得父窗口句柄,但是当我尝试获取按钮句柄时,如果总是返回0
我从Spy ++获得了按钮标题名称和按钮类型,这似乎是对的,但我知道我一定有错.下面是我的代码
public const Int BM_CLICK = 0x00F5;
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SendMessage(IntPtr hwnd, uint Msg, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
private void button1_Click(object sender, EventArgs e)
{
Process[] processes = Process.GetProcessesByName("QSXer");
foreach (Process p in processes)
{
////the Button's Caption is "Send" and it is a "Button".
IntPtr ButtonHandle = FindWindowEx(p.MainWindowHandle, IntPtr.Zero, "Button", "Send"); …Run Code Online (Sandbox Code Playgroud) 我的目标:如果行已更新或已插入新行,则将数据从一个表移动到另一个表.
我有一张桌子,我需要某些字段.我需要知道行是否已更新或插入.Source表没有任何Timestamp字段.我正在使用MSSQL2008.数据来自客户端,他们正在控制表和复制.
我以为我已经弄清楚使用MSSQL 2008 的新Merge函数,但无论是否有任何更改,它都会更新所有行.这通常不是一个大问题,但我必须添加时间戳字段.无论行是否已更新,我的修改时间字段都将更新.
所以我需要一种方法来完成我的上述目标.我不是一个伟大的SQL专家,所以你可以看到我正在努力任何帮助都会很棒.
USE NaylorAequor
DECLARE CurretDate GetDate();
MERGE Aequor_SLA_Ads AS Target
USING (select AWA.AdOrderID,emp.FirstName, emp.LastName,AWA.VendorID,AO.OrderDate,AO.SaleStatusID,A.AdColorId,AO.PublicationID,AWA.DateAssigned,AWA.DateAdCompleted
from AdWorkAssignMent as AWA, Employee as emp, AdOrder AS AO,Ad as A
WHERE VendorId = 'Aequor' AND emp.EmployeeID = AWA.EmployeeID AND AWA.AdOrderId = AO.AdOrderID AND AO.AdId = A.AdId) AS Source
ON (Target.AdOrderID = Source.AdOrderID)
WHEN MATCHED THEN
UPDATE SET
Target.AdOrderID =Source.AdOrderID,
Target.FirstName = Source.FirstName,
Target.LastName =Source.LastName,
Target.VendorID =Source.VendorID,
Target.OrderDate =Source.OrderDate,
Target.SaleStatusID =Source.SaleStatusID,
Target.AdColorId =Source.AdColorId,
Target.PublicationID =Source.PublicationID,
Target.DateAssigned =Source.DateAssigned,
Target.DateAdCompleted …Run Code Online (Sandbox Code Playgroud) Xamarin 新手,我正在尝试在我的跨平台应用程序中创建自定义导航栏。经过一些阅读,我发现我可以在我的 xaml 页面文件中使用标题视图组件,如下所示。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="amici.MyGroups">
<NavigationPage.TitleView>
<StackLayout Orientation="Horizontal" VerticalOptions="Center" Spacing="10">
<Label HorizontalOptions="StartAndExpand" Text="Left"/>
<Label HorizontalOptions="CenterAndExpand" Text="Center"/>
<Label HorizontalOptions="EndAndExpand" Text="Right"/>
</StackLayout>
</NavigationPage.TitleView>
<ContentPage.Content>
<ScrollView>
<Grid x:Name="grid1">
<StackLayout>
<Label Text="Welcome"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
</StackLayout>
<ActivityIndicator x:Name="WaitIcon" IsRunning="{Binding IsBusy}" VerticalOptions="Center" HorizontalOptions="Center" />
</Grid>
</ScrollView>
</ContentPage.Content>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)
我导航到我的页面“MyGroups”,如下所示:Navigation.PushAsync(new MyGroups());。
但是,唯一显示的是带有后退图标箭头的默认导航页面?
显然我错过了一些东西,或者我不明白一些东西。这是否需要在应用程序级别完成?
我创建了一个XSLT样式表,它查找节点并删除它.这非常有效.我现在想检查是否存在某个节点,然后删除该节点(如果存在).
所以我试图添加一个if语句,那是我遇到了以下错误:
编译错误:文件dt.xls第10行元素模板
元素模板仅允许作为样式表的子项
我想我理解错误,但不知道如何绕过它.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="Ad">
<xsl:template match="node()|@*">
<xsl:if test="name-ad-size">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:if>
</xsl:template>
</xsl:template>
<xsl:template match="phy-ad-width"/>
<xsl:strip-space elements="*"/>
<xsl:preserve-space elements="codeListing sampleOutput"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud) 当我尝试推送到新页面时出现以下错误。
(我使用 Xamarin.Form 4.6.0.800)
{System.ArgumentException: An element with the key 'NewAccountLogo' already exists in NameScope
Parameter name: name
at Xamarin.Forms.Internals.NameScope.Xamarin.Forms.Internals.INameScope.RegisterName (System.String name, System.Object scopedElement) [0x0000e] in D:\a\1\s\Xamarin.Forms.Core\Internals\NameScope.cs:21
at amici.NewAccount.InitializeComponent () [0x00078] in C:\Users\X\source\repos\amici\amici\amici\obj\Debug\netstandard2.0\NewAccount.xaml.g.cs:46
at amici.NewAccount..ctor () [0x0000f] in C:\Users\X\source\repos\amici\amici\amici\NewAccount.xaml.cs:26
at amici.Logon+<OnCreateAccountClick>d__3.MoveNext () [0x0002a] in C:\Users\X\source\repos\amici\amici\amici\logon.xaml.cs:119 }
Run Code Online (Sandbox Code Playgroud)
错误似乎很直接,所以我返回并重命名元素,然后在我的项目中搜索相同的名称。(只有一个)。重新编译并再次尝试,相同的消息但使用新名称?所以我删除了该元素并尝试重新编译并再次尝试,有趣的是我得到了相同的消息但是下一个元素?所以现在我在想可能错误信息不太正确,或者试图告诉我其他事情。我就是想不通。下面是我的xaml。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
NavigationPage.HasNavigationBar="True"
Title="New Account"
x:Class="amici.NewAccount">
<ContentPage.Content >
<ScrollView>
<Grid>
<StackLayout Margin="20" Padding="10" AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1">
<Image x:Name="NewAccountLogo"/>
<Entry x:Name="NewEmail" Placeholder="Email"/>
<Entry x:Name="EmailConfirm" Placeholder="Confirm Email"/>
<Label Text="Password between 6 …Run Code Online (Sandbox Code Playgroud)